summaryrefslogtreecommitdiff
path: root/src/SocketCore.h
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2006-03-01 07:00:39 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2006-03-01 07:00:39 +0000
commit583e09780b49198f8fa0599525fde4d79e9c701d (patch)
tree0a4cf2e4bd6ebd17506034b81415fe818e221555 /src/SocketCore.h
parentbc1cf6ed2d4c7ef52263a781359a73edb546970d (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.h92
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() ;
};