diff options
Diffstat (limited to 'net/socket/socket.h')
-rw-r--r-- | net/socket/socket.h | 37 |
1 files changed, 20 insertions, 17 deletions
diff --git a/net/socket/socket.h b/net/socket/socket.h index 8addca7..c3465ea 100644 --- a/net/socket/socket.h +++ b/net/socket/socket.h @@ -18,28 +18,31 @@ class Socket { virtual ~Socket() {} // Reads data, up to buf_len bytes, from the socket. The number of bytes read - // is returned, or an error is returned upon failure. Zero is returned once - // to indicate end-of-file; subsequent calls return ERR_CONNECTION_CLOSED. - // ERR_IO_PENDING is returned if the operation could not be completed - // synchronously, in which case the result will be passed to the callback when - // available. If the operation is not completed immediately, the socket - // acquires a reference to the provided buffer until the callback is invoked - // or the socket is destroyed. If the socket is closed before the read - // completes, the callback will not be invoked. + // is returned, or an error is returned upon failure. + // ERR_SOCKET_NOT_CONNECTED should be returned if the socket is not currently + // connected. Zero is returned once to indicate end-of-file; the return value + // of subsequent calls is undefined, and may be OS dependent. ERR_IO_PENDING + // is returned if the operation could not be completed synchronously, in which + // case the result will be passed to the callback when available. If the + // operation is not completed immediately, the socket acquires a reference to + // the provided buffer until the callback is invoked or the socket is + // destroyed. If the socket is closed before the read completes, the callback + // will not be invoked. virtual int Read(IOBuffer* buf, int buf_len, CompletionCallback* callback) = 0; // Writes data, up to buf_len bytes, to the socket. Note: only part of the // data may be written! The number of bytes written is returned, or an error - // is returned upon failure. ERR_CONNECTION_CLOSED is returned if the - // operation is attempted on a closed socket. ERR_IO_PENDING is returned if - // the operation could not be completed synchronously, in which case the - // result will be passed to the callback when available. If the operation is - // not completed immediately, the socket acquires a reference to the provided - // buffer until the callback is invoked or the socket is destroyed. - // Implementations of this method should not modify the contents of the actual - // buffer that is written to the socket. If the socket is closed before the - // write completes, the callback will not be invoked. + // is returned upon failure. ERR_SOCKET_NOT_CONNECTED should be returned if + // the socket is not currently connected. The return value when the + // connection is closed is undefined, and may be OS dependent. ERR_IO_PENDING + // is returned if the operation could not be completed synchronously, in which + // case the result will be passed to the callback when available. If the + // operation is not completed immediately, the socket acquires a reference to + // the provided buffer until the callback is invoked or the socket is + // destroyed. Implementations of this method should not modify the contents + // of the actual buffer that is written to the socket. If the socket is + // closed before the write completes, the callback will not be invoked. virtual int Write(IOBuffer* buf, int buf_len, CompletionCallback* callback) = 0; |