From e2af2347fc035d702e45f12e772223a8d578410d Mon Sep 17 00:00:00 2001 From: danieldg Date: Mon, 21 Sep 2009 13:26:31 +0000 Subject: Create StreamSocket for IO hooking implementation Fixes the SSL SendQ bug Removes duplicate code between User and BufferedSocket Simplify SSL module API Simplify EventHandler API (Readable/Writeable moved to SE) Add hook for culled objects to invoke callbacks prior to destructor Replace SocketCull with GlobalCull now that sockets can close themselves Shorten common case of user read/parse/write path: User::Write is now zero-copy up to syscall/SSL invocation User::Read has only two copy/scan passes from read() to ProcessCommand git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11752 e03df62e-2008-0410-955e-edbf42e46eb7 --- include/inspircd.h | 19 ------------------- 1 file changed, 19 deletions(-) (limited to 'include/inspircd.h') diff --git a/include/inspircd.h b/include/inspircd.h index b927f0b1b..72e49c09a 100644 --- a/include/inspircd.h +++ b/include/inspircd.h @@ -277,7 +277,6 @@ class serverstats : public classbase class InspIRCd; -DEFINE_HANDLER1(ProcessUserHandler, void, User*); DEFINE_HANDLER2(IsNickHandler, bool, const char*, size_t); DEFINE_HANDLER1(IsIdentHandler, bool, const char*); DEFINE_HANDLER1(FloodQuitUserHandler, void, User*); @@ -386,7 +385,6 @@ class CoreExport InspIRCd : public classbase /**** Functors ****/ - ProcessUserHandler HandleProcessUser; IsNickHandler HandleIsNick; IsIdentHandler HandleIsIdent; FloodQuitUserHandler HandleFloodQuitUser; @@ -394,11 +392,6 @@ class CoreExport InspIRCd : public classbase IsSIDHandler HandleIsSID; RehashHandler HandleRehash; - /** BufferedSocket classes pending deletion after being closed. - * We don't delete these immediately as this may cause a segmentation fault. - */ - std::map SocketCull; - /** Globally accessible fake user record. This is used to force mode changes etc across s2s, etc.. bit ugly, but.. better than how this was done in 1.1 * Reason for it: * kludge alert! @@ -527,13 +520,6 @@ class CoreExport InspIRCd : public classbase */ time_t Time(); - /** Process a user whos socket has been flagged as active - * @param cu The user to process - * @return There is no actual return value, however upon exit, the user 'cu' may have been - * marked for deletion in the global CullList. - */ - caller1 ProcessUser; - /** Bind all ports specified in the configuration file. * @return The number of ports bound without error */ @@ -924,11 +910,6 @@ class CoreExport InspIRCd : public classbase */ int Run(); - /** Force all BufferedSockets to be removed which are due to - * be culled. - */ - void BufferedSocketCull(); - /** Adds an extban char to the 005 token. */ void AddExtBanChar(char c); -- cgit v1.2.3