* | Inspire Internet Relay Chat Daemon |
* +------------------------------------+
*
- * InspIRCd is copyright (C) 2002-2006 ChatSpike-Dev.
- * E-mail:
- * <brain@chatspike.net>
- * <Craig@chatspike.net>
+ * InspIRCd: (C) 2002-2007 InspIRCd Development Team
+ * See: http://www.inspircd.org/wiki/index.php/Credits
*
- * Written by Craig Edwards, Craig McLure, and others.
* This program is free but copyrighted software; see
* the file COPYING for details.
*
* ---------------------------------------------------
*/
-#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 "inspircd.h"
+int EventHandler::GetFd()
+{
+ return this->fd;
+}
-SocketEngine::SocketEngine(InspIRCd* Instance) : ServerInstance(Instance)
+void EventHandler::SetFd(int FD)
{
+ this->fd = FD;
}
-SocketEngine::~SocketEngine()
+bool EventHandler::Readable()
+{
+ return true;
+}
+
+bool EventHandler::Writeable()
{
+ return false;
}
-char SocketEngine::GetType(int fd)
+void SocketEngine::WantWrite(EventHandler* eh)
{
- if ((fd < 0) || (fd > MAX_DESCRIPTORS))
- return X_EMPTY_SLOT;
- /* Mask off the top bit used for 'read/write' state */
- return (ref[fd] & ~0x80);
}
-bool SocketEngine::AddFd(int fd, bool readable, char type)
+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 0;
+ return ref[fd];
+}
+
+bool SocketEngine::DelFd(EventHandler* eh, bool force)
{
return true;
}
return 0;
}
-int SocketEngine::Wait(int* fdlist)
+int SocketEngine::DispatchEvents()
{
return 0;
}
{
return "misconfigured";
}
+