|
|
|
@ -325,7 +325,10 @@ static err_t proxy_poll_cb(void *arg, struct tcp_pcb *pcb) { |
|
|
|
(unsigned long long)pc->remote_stream_id, pc->closing_rem, pc->closing_sent, |
|
|
|
(unsigned long long)pc->remote_stream_id, pc->closing_rem, pc->closing_sent, |
|
|
|
pc->pcb->cwnd, pc->pcb->snd_buf, (void*)pc->pcb->unsent, (void*)pc->pcb->unacked); |
|
|
|
pc->pcb->cwnd, pc->pcb->snd_buf, (void*)pc->pcb->unsent, (void*)pc->pcb->unacked); |
|
|
|
struct tcp_pcb *save = pc->pcb; |
|
|
|
struct tcp_pcb *save = pc->pcb; |
|
|
|
tcp_arg(save, NULL); pc->pcb = NULL; tcp_close(save); |
|
|
|
tcp_arg(save, NULL); pc->pcb = NULL; |
|
|
|
|
|
|
|
{ uint16_t wnd_gap = TCP_WND_MAX(save) - save->rcv_wnd; |
|
|
|
|
|
|
|
if (wnd_gap > 0) tcp_recved(save, wnd_gap); } |
|
|
|
|
|
|
|
tcp_close(save); |
|
|
|
struct tcp_proxy *proxy = pc->proxy; |
|
|
|
struct tcp_proxy *proxy = pc->proxy; |
|
|
|
struct proxy_conn **prev = &proxy->conns; |
|
|
|
struct proxy_conn **prev = &proxy->conns; |
|
|
|
while (*prev) { if (*prev == pc) { *prev = pc->next; proxy->conn_count--; break; } prev = &(*prev)->next; } |
|
|
|
while (*prev) { if (*prev == pc) { *prev = pc->next; proxy->conn_count--; break; } prev = &(*prev)->next; } |
|
|
|
|