]> git.netwichtig.de Git - user/henk/code/inspircd.git/commit
Create StreamSocket for IO hooking implementation
authordanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>
Mon, 21 Sep 2009 13:26:31 +0000 (13:26 +0000)
committerdanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>
Mon, 21 Sep 2009 13:26:31 +0000 (13:26 +0000)
commite2af2347fc035d702e45f12e772223a8d578410d
treebfd80aac2858a9f4faedc316794fc1051dbaa72c
parent16fc672b685752007e47aed0fb97bc1ee7443c76
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
82 files changed:
include/base.h
include/cull_list.h
include/inspircd.h
include/inspsocket.h
include/modules.h
include/socket.h
include/socketengine.h
include/socketengines/socketengine_epoll.h
include/socketengines/socketengine_iocp.h
include/socketengines/socketengine_kqueue.h
include/socketengines/socketengine_poll.h
include/socketengines/socketengine_ports.h
include/socketengines/socketengine_select.h
include/users.h
src/base.cpp
src/command_parse.cpp
src/cull_list.cpp
src/helperfuncs.cpp
src/inspircd.cpp
src/inspsocket.cpp
src/modules.cpp
src/modules/extra/m_ssl_gnutls.cpp
src/modules/extra/m_ssl_openssl.cpp
src/modules/extra/m_ziplink.cpp
src/modules/m_httpd.cpp
src/modules/m_spanningtree/addline.cpp
src/modules/m_spanningtree/admin.cpp
src/modules/m_spanningtree/away.cpp
src/modules/m_spanningtree/capab.cpp
src/modules/m_spanningtree/compat.cpp
src/modules/m_spanningtree/delline.cpp
src/modules/m_spanningtree/encap.cpp
src/modules/m_spanningtree/fhost.cpp
src/modules/m_spanningtree/fident.cpp
src/modules/m_spanningtree/fjoin.cpp
src/modules/m_spanningtree/fmode.cpp
src/modules/m_spanningtree/fname.cpp
src/modules/m_spanningtree/ftopic.cpp
src/modules/m_spanningtree/handshaketimer.cpp
src/modules/m_spanningtree/hmac.cpp
src/modules/m_spanningtree/kill.cpp
src/modules/m_spanningtree/main.cpp
src/modules/m_spanningtree/metadata.cpp
src/modules/m_spanningtree/modules.cpp
src/modules/m_spanningtree/motd.cpp
src/modules/m_spanningtree/netburst.cpp
src/modules/m_spanningtree/nickcollide.cpp
src/modules/m_spanningtree/operquit.cpp
src/modules/m_spanningtree/opertype.cpp
src/modules/m_spanningtree/override_stats.cpp
src/modules/m_spanningtree/ping.cpp
src/modules/m_spanningtree/pong.cpp
src/modules/m_spanningtree/push.cpp
src/modules/m_spanningtree/resolvers.cpp
src/modules/m_spanningtree/save.cpp
src/modules/m_spanningtree/server.cpp
src/modules/m_spanningtree/stats.cpp
src/modules/m_spanningtree/svsjoin.cpp
src/modules/m_spanningtree/svsnick.cpp
src/modules/m_spanningtree/svspart.cpp
src/modules/m_spanningtree/time.cpp
src/modules/m_spanningtree/treesocket.h
src/modules/m_spanningtree/treesocket1.cpp
src/modules/m_spanningtree/treesocket2.cpp
src/modules/m_spanningtree/uid.cpp
src/modules/m_spanningtree/utils.cpp
src/modules/m_spanningtree/utils.h
src/modules/m_spanningtree/whois.cpp
src/socket.cpp
src/socketengine.cpp
src/socketengines/socketengine_epoll.cpp
src/socketengines/socketengine_iocp.cpp
src/socketengines/socketengine_kqueue.cpp
src/socketengines/socketengine_poll.cpp
src/socketengines/socketengine_ports.cpp
src/socketengines/socketengine_select.cpp
src/stats.cpp
src/threadengines/threadengine_pthread.cpp
src/threadengines/threadengine_win32.cpp
src/usermanager.cpp
src/userprocess.cpp
src/users.cpp