]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/socketengines/socketengine_select.h
Sort the module list to give a useful indicator of compile progress
[user/henk/code/inspircd.git] / include / socketengines / socketengine_select.h
index 83d92d48f2c2921aeb0d4b4dac24ea0ec6e5f09e..5a4aee86ba92d34b63a19de828e03e75cdc98874 100644 (file)
@@ -2,8 +2,8 @@
  *       | Inspire Internet Relay Chat Daemon |
  *       +------------------------------------+
  *
- *  InspIRCd: (C) 2002-2008 InspIRCd Development Team
- * See: http://www.inspircd.org/wiki/index.php/Credits
+ *  InspIRCd: (C) 2002-2009 InspIRCd Development Team
+ * See: http://wiki.inspircd.org/Credits
  *
  * This program is free but copyrighted software; see
  *            the file COPYING for details.
 #include <sys/select.h>
 #endif // WINDOWS
 #include "inspircd_config.h"
-#include "globals.h"
 #include "inspircd.h"
 #include "socketengine.h"
 
-class InspIRCd;
-
 /** A specialisation of the SocketEngine class, designed to use traditional select().
  */
 class SelectEngine : public SocketEngine
 {
-private:
-       /** Because select() does not track an fd list for us between calls, we have one of our own
-        */
-       std::map<int,int> fds;
-       /** List of writeable ones (WantWrite())
-        */
-       bool writeable[MAX_DESCRIPTORS];
-       /** The read set and write set, populated before each call to select().
-        */
-       fd_set wfdset, rfdset, errfdset;
 public:
        /** Create a new SelectEngine
-        * @param Instance The creator of this object
         */
-       SelectEngine(InspIRCd* Instance);
+       SelectEngine();
        /** Delete a SelectEngine
         */
        virtual ~SelectEngine();
-       virtual bool AddFd(EventHandler* eh);
-       virtual int GetMaxFds();
-       virtual int GetRemainingFds();
+       virtual bool AddFd(EventHandler* eh, int event_mask);
        virtual bool DelFd(EventHandler* eh, bool force = false);
+       void OnSetEvent(EventHandler* eh, int, int);
        virtual int DispatchEvents();
        virtual std::string GetName();
-       virtual void WantWrite(EventHandler* eh);
 };
 
 /** Creates a SocketEngine
@@ -65,7 +49,7 @@ class SocketEngineFactory
 public:
        /** Create a new instance of SocketEngine based on SelectEngine
         */
-       SocketEngine* Create(InspIRCd* Instance) { return new SelectEngine(Instance); }
+       SocketEngine* Create() { return new SelectEngine; }
 };
 
 #endif