diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2006-03-01 07:00:39 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2006-03-01 07:00:39 +0000 |
| commit | 583e09780b49198f8fa0599525fde4d79e9c701d (patch) | |
| tree | 0a4cf2e4bd6ebd17506034b81415fe818e221555 /src/SocketCore.h | |
| parent | bc1cf6ed2d4c7ef52263a781359a73edb546970d (diff) | |
* HttpConnection.cc: Added "Proxy-Connection" header to proxy
request.
Added "User-Agent" header to CONNECT proxy request.
Fixed "Proxy-Authorization" header. Now proxy authorization
works
properly.
Diffstat (limited to 'src/SocketCore.h')
| -rw-r--r-- | src/SocketCore.h | 92 |
1 files changed, 76 insertions, 16 deletions
diff --git a/src/SocketCore.h b/src/SocketCore.h index a6b7d3f8..3c09da60 100644 --- a/src/SocketCore.h +++ b/src/SocketCore.h @@ -52,47 +52,107 @@ public: SocketCore(); ~SocketCore(); + /** + * Creates a socket and listens form connection on it. + */ void beginListen(); + + /** + * Stores host address and port of this socket to addrinfo. + * @param addrinfo placeholder to store host address and port. + */ void getAddrInfo(pair<string, int>& addrinfo) const; + + /** + * Accepts incoming connection on this socket. + * You must call beginListen() before calling this method. + * @return accepted socket. The caller must delete it after using it. + */ SocketCore* acceptConnection() const; + /** * Connects to the server named host and the destination port is port. - * This method make socket non-blocking mode. - * To make the socket blocking mode, call setBlockingMode() after + * This method makes socket non-blocking mode. + * To make the socket blocking mode again, call setBlockingMode() after * the connection is established. + * @param host hostname or ip address to connect to + * @param port service port number to connect to */ void establishConnection(string host, int port); + /** + * Makes this socket blocking mode. + */ void setBlockingMode() const; - // Closes the connection which this socket object has + /** + * Closes the connection of this socket. + */ void closeConnection(); - // examines whether the socket of this SocketCore object is available for writing. - // returns true if the socket is available for writing, otherwise returns false. + /** + * Checks whether this socket is available for writing. + * @param timeout the amount of time elapsed before the checking are timed + * out. + * @return true if the socket is available for writing, + * otherwise returns false. + */ bool isWritable(int timeout) const; - // examines whether the socket of this SocketCore object is available for reading. - // returns true if the socket is available for reading, otherwise returns false. + /** + * Checks whether this socket is available for reading. + * @param timeout the amount of time elapsed before the checking are timed + * out. + * @return true if the socket is available for reading, + * otherwise returns false. + */ bool isReadable(int timeout) const; - // writes characters into the socket. data is a pointer pointing the first - // byte of the data and len is the length of the data. + /** + * Writes characters into this socket. data is a pointer pointing the first + * byte of the data and len is the length of data. + * This method internally calls isWritable(). The parmeter timeout is used + * for this method call. + * @param data data to write + * @param len length of data + * @param timeout the amount of time elapsed before isWritable() + * are timed out. + */ void writeData(const char* data, int len, int timeout = 5) const; - // Reads up to len bytes from this socket. - // data is a pointer pointing the first - // byte of the data, which must be allocated before this method is called. - // len is the size of the allocated memory. When this method returns - // successfully, len is replaced by the size of the read data. + /** + * Reads up to len bytes from this socket. + * data is a pointer pointing the first + * byte of the data, which must be allocated before this method is called. + * len is the size of the allocated memory. When this method returns + * successfully, len is replaced by the size of the read data. + * This method internally calls isReadable(). The parameter timeout is used + * for this method call. + * @param data holder to store data. + * @param len the maximum size data can store. This method assigns + * the number of bytes read to len. + * @param timeout the amount of time elapsed before isReadable() are timed + * out. + */ void readData(char* data, int& len, int timeout = 5) const; - // Reads up to len bytes from this socket, but bytes are not removed from - // this socket. + + /** + * Reads up to len bytes from this socket, but bytes are not removed from + * this socket. + * This method internally calls isReadable(). The parameter timeout is used + * for this method call. + * @param data holder to store data. + * @param len the maximum size data can store. This method assigns + * the number of bytes read to len. + * @param timeout the amount of time elapsed before isReadable() are timed + * out. + */ void peekData(char* data, int& len, int timeout = 5) const; /** * Makes this socket secure. * If the system has not OpenSSL, then this method do nothing. + * connection must be established before calling this method. */ void initiateSecureConnection() ; }; |
