#include <vector>
#include <string>
#include <map>
+#include <sys/select.h>
#include "inspircd_config.h"
#include "globals.h"
#include "inspircd.h"
#include "socketengine.h"
+class InspIRCd;
+
class SelectEngine : public SocketEngine
{
private:
std::map<int,int> fds; /* List of file descriptors being monitored */
fd_set wfdset, rfdset; /* Readable and writeable sets for select() */
public:
- SelectEngine();
+ SelectEngine(InspIRCd* Instance);
virtual ~SelectEngine();
virtual bool AddFd(int fd, bool readable, char type);
virtual int GetMaxFds();
class SocketEngineFactory
{
public:
- SocketEngine* Create() { return new SelectEngine(); }
+ SocketEngine* Create(InspIRCd* Instance) { return new SelectEngine(InspIRCd* Instance); }
};
#endif