wqvbjhc / libuv_tcp

tcp server and client package using libuv

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TCPClient发送失败问题~

wey580231 opened this issue · comments

commented

TCPClient中的AfterSend在发送失败时,将req放入writeparam_list_队列末尾。再回到send_inl函数的484行writep->buf_.len = write_circularbuf_.read(writep->buf_.base, writep->buf_truelen_); 时,若从writeparam_list_取出的writep再次从缓冲区中获取了一段数据,这样会不会造成之前发送失败时的数据被丢失了?

commented

会的,AfterSend的功能就是把uv_write_t回收而已。不负责发送失败后的逻辑处理。
我想这部分逻辑可交给上层处理。一方请求得不到响应时,是继续请求还是放弃?