You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on May 4, 2018. It is now read-only.
Thinking about it makes my head hurt. But here's what:
Disgraceful disconnect
Currently, calling oio_close(handle) before the write queue is empty thrashes all data in the write queue. However the kernel will try to do a do a graceful disconnect anyway, so the client thinks he's received all data. This may be undesirable; an incomplete transfer should be recognizable as such by the other end. I think we need to set SO_LINGER with l_onoff=1 and l_linger=0 to achieve this.
Graceful disconnect
A socket can be closed after graceful shutdown when:
A oio_read call has reported a zero byte read once
The user has called oio_shutdown once, and
oio_shutdown_cb has been called to indicate that the write queue was drained and a FIN has been sent.
Questions:
Should we track which ends of the stream have been closed or should the user do that?
Should oio_close be called automatically when a socket has been shut down at both ends?
What if the user isn't reading the socket after shutting it down?
The text was updated successfully, but these errors were encountered:
Thinking about it makes my head hurt. But here's what:
Disgraceful disconnect
Currently, calling oio_close(handle) before the write queue is empty thrashes all data in the write queue. However the kernel will try to do a do a graceful disconnect anyway, so the client thinks he's received all data. This may be undesirable; an incomplete transfer should be recognizable as such by the other end. I think we need to set SO_LINGER with l_onoff=1 and l_linger=0 to achieve this.
Graceful disconnect
A socket can be closed after graceful shutdown when:
oio_shutdown_cb has been called to indicate that the write queue was drained and a FIN has been sent.
Questions:
The text was updated successfully, but these errors were encountered: