summaryrefslogtreecommitdiffstats
path: root/net/socket/socket.h
diff options
context:
space:
mode:
Diffstat (limited to 'net/socket/socket.h')
-rw-r--r--net/socket/socket.h37
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;