diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-10-30 20:51:52 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-10-30 20:51:52 +0000 |
commit | 4171efac1782a31ba41425e630956db185fc4783 (patch) | |
tree | b60f548f267439bb7078e6c1808950e998ec5d60 | |
parent | 1aaee19ee96eef97eb75bfaaf4cf38db74d0dc6c (diff) |
Document SocketEngine::WantWrite()
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5591 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r-- | include/socketengine.h | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/include/socketengine.h b/include/socketengine.h index 9aa651499..a4628b648 100644 --- a/include/socketengine.h +++ b/include/socketengine.h @@ -93,6 +93,12 @@ class EventHandler : public Extensible * is still added to a SocketEngine instance! * If this function is unimplemented, the base class * will return true. + * + * NOTE: You cannot set both Readable() and + * Writeable() to true. If you wish to receive + * a write event for your object, you must call + * SocketEngine::WantWrite() instead. This will + * trigger your objects next EVENT_WRITE type event. */ virtual bool Readable(); @@ -103,6 +109,12 @@ class EventHandler : public Extensible * is still added to a SocketEngine instance! * If this function is unimplemented, the base class * will return false. + * + * NOTE: You cannot set both Readable() and + * Writeable() to true. If you wish to receive + * a write event for your object, you must call + * SocketEngine::WantWrite() instead. This will + * trigger your objects next EVENT_WRITE type event. */ virtual bool Writeable(); @@ -110,7 +122,8 @@ class EventHandler : public Extensible * You MUST implement this function in your derived * class, and it will be called whenever read or write * events are received, depending on what your functions - * Readable() and Writeable() returns. + * Readable() and Writeable() returns and wether you + * previously made a call to SocketEngine::WantWrite(). * @param et either one of EVENT_READ for read events, * and EVENT_WRITE for write events. */ @@ -179,6 +192,17 @@ public: */ virtual bool AddFd(EventHandler* eh); + /** If you call this function and pass it an + * event handler, that event handler will + * receive the next available write event, + * even if the socket is a readable socket only. + * Developers should avoid constantly keeping + * an eventhandler in the writeable state, + * as this will consume large amounts of + * CPU time. + * @param eh An event handler which wants to + * receive the next writeability event. + */ virtual void WantWrite(EventHandler* eh); /** Returns the maximum number of file descriptors |