Greg Hazel
Greg Hazel
UTP_Write returning 0 does mean the buffer is full. When there is space in the buffer again, on_state will be called with UTP_STATE_WRITABLE.
The buffer automatically flushes. It can also be quite small to start - it is related to the number of packets in flight on the network, which is adjusted according...
The on_read call doesn't need to do anything at all. It is your opportunity to read the bytes from the network, but you can just ignore them if you like....
What happens if you let it sit for minutes? Does the connection eventually time out?
Those might be the keep-alives. What does UTP_Write return?
Returning 0 just means it can accept some, but not all, of your data. You should get a corresponding utp_write later. Are you passing
Why is max_send so low? What are the values of max_window, opt_sndbuf and max_window_user?
Hm. Well, that seems like a bug. However if packet pacing is on, it seems it should allow you to send anyway. What are the values of USE_PACKET_PACING, max_window, to_write,...
Hm. The error seems to be that is_writable is checking to see if we have room for a full packet, not the amount to be written. If you replace instances...