* ---------------------------------------------------
*/
-#include "inspircd_config.h"
-#include "globals.h"
#include "inspircd.h"
-#ifdef USE_EPOLL
-#include <sys/epoll.h>
-#endif
-#ifdef USE_KQUEUE
-#include <sys/types.h>
-#include <sys/event.h>
-#include <sys/time.h>
-#endif
-#include <vector>
-#include <string>
#include "socketengine.h"
-#include "helperfuncs.h"
-#include "inspircd.h"
-SocketEngine::SocketEngine(InspIRCd* Instance) : ServerInstance(Instance)
+int EventHandler::GetFd()
{
+ return this->fd;
}
-SocketEngine::~SocketEngine()
+void EventHandler::SetFd(int FD)
{
+ this->fd = FD;
}
-char SocketEngine::GetType(int fd)
+bool EventHandler::Readable()
{
- if ((fd < 0) || (fd > MAX_DESCRIPTORS))
- return X_EMPTY_SLOT;
- /* Mask off the top bit used for 'read/write' state */
- return (ref[fd] & ~0x80);
+ return true;
}
-bool SocketEngine::AddFd(int fd, bool readable, char type)
+bool EventHandler::Writeable()
+{
+ return false;
+}
+
+void SocketEngine::WantWrite(EventHandler* eh)
+{
+}
+
+SocketEngine::SocketEngine(InspIRCd* Instance) : ServerInstance(Instance)
+{
+ memset(ref, 0, sizeof(ref));
+}
+
+SocketEngine::~SocketEngine()
+{
+}
+
+bool SocketEngine::AddFd(EventHandler* eh)
{
return true;
}
{
if ((fd < 0) || (fd > MAX_DESCRIPTORS))
return false;
- return (ref[fd] != 0);
+ return ref[fd];
}
-bool SocketEngine::DelFd(int fd)
+EventHandler* SocketEngine::GetRef(int fd)
+{
+ if ((fd < 0) || (fd > MAX_DESCRIPTORS))
+ return false;
+ return ref[fd];
+}
+
+bool SocketEngine::DelFd(EventHandler* eh)
{
return true;
}
return 0;
}
-int SocketEngine::Wait(int* fdlist)
+int SocketEngine::DispatchEvents()
{
return 0;
}
{
return "misconfigured";
}
+