sender buffer filling up causes disconnections
Found in gnome-remote-desktop#170: if the sender buffer fills up libei disconnects us. Can be reproduced with eis-demo-server
and ei-demo-client
, simply pause the demo-server after connection and wait for the buffer to fill up and us getting disconnected.
Actual code that triggers that error is the end of ei_send_message()
int rc = iobuf_send(buf, fd);
The EAGAIN
gets passed up to the caller, and those tend to call ei_disconnect()
on any error.
We need some smarter buffer handling here.