*/
SocketTimeout* Timeout;
- /** Timeout length
- */
- unsigned long timeout_val;
-
/** Socket output buffer (binary safe)
*/
std::deque<std::string> outbuffer;
*/
BufferedSocketState state;
- /**
- * This value is true if the
- * socket has timed out.
- */
- bool timeout;
-
/**
* The IP address being connected
* to stored in string form for
socklen_t length;
/** Flushes the write buffer
+ * @returns true if the writing failed, false if it was successful
*/
bool FlushWriteBuffer();
*/
bool ClosePending;
- /** Set to true when we're waiting for a write event.
- * If this is true and a write event comes in, we
- * call the write instead of the read method.
- */
- bool WaitingForWriteEvent;
-
/**
* Bind to an address
* @param ip IP to bind to
/**
* When it is ok to write to the socket, and a
* write event was requested, this method is
- * triggered. Within this method you should call
+ * triggered.
+ *
+ * Within this method you should call
* write() or send() etc, to send data to the
- * other end of the socket. Further write events
- * will not be triggered unless you call WantWrite().
+ * other end of the socket.
+ *
+ * Further write events will not be triggered
+ * unless you call WantWrite().
+ *
+ * The default behaviour of this method is to
+ * flush the write buffer, respecting the IO
+ * hooking modules.
+ *
+ * XXX: this used to be virtual, ask us if you need it to be so.
* @return false to close the socket
*/
- virtual bool OnWriteReady();
+ bool OnWriteReady();
/**
* When an outbound connection fails, and the
*/
bool Poll();
- /**
- * This method returns the socket's file descriptor
- * as assigned by the operating system, or -1
- * if no descriptor has been assigned.
- */
- int GetFd();
-
/**
* This method causes the socket to close, and may
* also be triggered by other methods such as OnTimeout
/**
* This method attempts to connect to a hostname.
* This method is asyncronous.
+ * @param maxtime Number of seconds to wait, if connecting, before the connection times out and an OnTimeout() event is generated
*/
- virtual bool DoConnect();
+ virtual bool DoConnect(unsigned long maxtime);
/** Handle event from EventHandler parent class
*/