Open
Description
Hello,
perhaps I am missing the rationale behind the decision to return 0 (or false) inside recv and send when an EAGAIN is spotted, instead of throwing - and I apologize in advance if this is the case.
The problem I encountered with this approach is that, when returning 0 only (instead of explicitly throwing EAGAIN like the other errors), I cannot tell, specially in the context of recv, whether I am reading a valid message with an empty frame (with size 0), or if this is an actual case of EAGAIN.
Is there a way to tell apart a genuine EAGAIN error versus reading an empty frame of a multipart message? Or should EAGAIN really be thrown?
Thanks,
Rafael