diff options
Diffstat (limited to 'include/socketengines/socketengine_poll.h')
-rw-r--r-- | include/socketengines/socketengine_poll.h | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/include/socketengines/socketengine_poll.h b/include/socketengines/socketengine_poll.h deleted file mode 100644 index a99ce915c..000000000 --- a/include/socketengines/socketengine_poll.h +++ /dev/null @@ -1,74 +0,0 @@ -/* +------------------------------------+ - * | Inspire Internet Relay Chat Daemon | - * +------------------------------------+ - * - * 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. - * - * --------------------------------------------------- - */ - -#ifndef __SOCKETENGINE_POLL__ -#define __SOCKETENGINE_POLL__ - -#include <vector> -#include <string> -#include <map> -#include "inspircd_config.h" -#include "inspircd.h" -#include "socketengine.h" - -#ifndef WINDOWS - #ifndef __USE_XOPEN - #define __USE_XOPEN /* fuck every fucking OS ever made. needed by poll.h to work.*/ - #endif - #include <poll.h> - #include <sys/poll.h> -#else - /* *grumble* */ - #define struct pollfd WSAPOLLFD - #define poll WSAPoll -#endif - -class InspIRCd; - -/** A specialisation of the SocketEngine class, designed to use poll(). - */ -class PollEngine : public SocketEngine -{ -private: - /** These are used by poll() to hold socket events - */ - struct pollfd *events; - /** This map maps fds to an index in the events array. - */ - std::map<int, unsigned int> fd_mappings; -public: - /** Create a new PollEngine - */ - PollEngine(); - /** Delete a PollEngine - */ - virtual ~PollEngine(); - virtual bool AddFd(EventHandler* eh, int event_mask); - virtual void OnSetEvent(EventHandler* eh, int old_mask, int new_mask); - virtual EventHandler* GetRef(int fd); - virtual bool DelFd(EventHandler* eh, bool force = false); - virtual int DispatchEvents(); - virtual std::string GetName(); -}; - -/** Creates a SocketEngine - */ -class SocketEngineFactory -{ -public: - /** Create a new instance of SocketEngine based on PollEngine - */ - SocketEngine* Create() { return new PollEngine; } -}; - -#endif |