summaryrefslogtreecommitdiff
path: root/include/socketengine.h
Commit message (Expand)AuthorAgeFilesLines
* Automatic detection and allocation of max fds. No longer needs recompile to c...•••Please note that select and iocp socket engines do not support detection and are always set to FD_SETSIZE and 10240 descriptors respectively. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9263 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2008-04-021-1/+3
* Keep count of the number of events in total, and seperate read, write and err...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8933 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2008-02-141-0/+6
* Header update: 2007 -> 2008•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8694 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar w00t2008-01-101-1/+1
* * Fixed some incorrect declarations in IOCPEngine•••* Fixed the virtual socket wrapper functions in IOCPEngine {these should really be inlined on unix} * Fixed several compilation issues under Win32 * Fixed calls to close() which should've been changed to SE->Close() + Added a crashdump saving system to Win32 builds. Dumps are saved in the format of dump-<exename>-<year>-<month>-<day>-<hour>-<minute>-<second>.dmp in the working directory. Enabled by default, undefine ENABLE_CRASHDUMPS to disable. + Added m_operflood, this is a module I've had lying around for some time but some users may like it as it allows unreal-like behaviour without increasing flood limits for non-opers. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8015 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar burlex2007-09-041-1/+1
* Document all this shit!•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7811 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-08-231-0/+79
* Craquity craq De-craq!•••This is probably broken on windows, do not attempt to use there yet unless you like broken stuff. Cant say for sure as i havent even tried to build yet and most likely wont tonight. --- Abstract most of the berkely socket API out into SocketEngine derived classes. SocketEngine base class implements standard berkely sockets that 'real mens systems' like linux and freebsd have. For socketengine_iocp we implement the windows specific nonesense like the special things needed for udp and accept (ick). All this to eliminate a bunch of ifdefs. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7810 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-08-231-0/+32
* Fixed, i forgot the virtual when implementing this•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7725 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-08-151-1/+1
* Windows specific data types in EventHandler are now Extensible items•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7599 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-07-271-18/+0
* Removal of some ifdefs•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7598 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-07-271-8/+7
* Some smart tricks to eliminate win32 ifdefs that are creeping into portable f...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7589 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-07-271-0/+6
* OOPS! We try again, since I'm smoking craq. LF is 0x0a NOT CR.•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7456 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar peavey2007-07-161-1/+296
* 'svn propset -R svn:eol-style CR *' Set to UNIX-style always. Binaries are au...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7454 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar peavey2007-07-161-296/+1
* Comments•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7382 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-06-171-3/+11
* Space indents must die.•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7049 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-05-191-1/+1
* Windows support. Tested and working to compile on freebsd and linux. Next ste...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7043 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar w00t2007-05-191-4/+19
* Update inline documentation for DelFd() so the doxygen docs will be correct.•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6300 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar peavey2007-01-121-0/+8
* pgsql should now work thx to added posibility to force a fd out of the socket...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6295 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar peavey2007-01-111-2/+2
* And now, just to force you to recompile the *whole* ircd.. updated headers on...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5998 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar w00t2006-12-151-6/+3
* Socket error state stuff•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5607 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-10-311-2/+6
* Document SocketEngine::WantWrite()•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5591 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-10-301-1/+25
* WARNING: This commit breaks kqueue and select -- work in progress!•••epoll now allows both a write and a read event on a socket at the same time. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5580 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-10-301-0/+2
* Get rid of SocketEngine::Wait and array-copy, change to SocketEngine::Dispatc...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4944 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-181-9/+5
* EventHandler class, an abstraction for raw i/o•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4941 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-181-56/+144
* Now two types of log macro, log() and ilog(). log() assumes an InspIRCd objec...•••TODO: Run a regexp over these, using perl, to translate them into InspIRCd::Log calls and then eliminate the macro :) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4879 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-111-1/+4
* Remove X_ESTAB_CLASSDNS, X_ESTAB_DNS now does the job of this (i TOLD w00t an...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4625 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-011-2/+1
* Add #include <sys/select.h> to select engine, we probably need it•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4443 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-07-191-0/+9
* * Seperate out socket engines into derived classes of SocketEngine.•••* Add a classfactory SocketEngineFactory to create a new socketengine of the configured type * Implement configure hax to compile only the required socketengine and the base class * Eliminates ugly defines, and is more in line with C++ ways git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4439 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-07-191-29/+9
* Added class Resolver (needs testing)•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4353 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-07-121-0/+1
* Made a load more stuff Extensible which might be of use to someone•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4293 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-07-101-1/+2
* Commented a lot of stuff that hasnt been commented since 1.0.2•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3695 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-03-121-0/+3
* Added method to check if an fd is in the socketengine or not•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3667 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-03-111-1/+3
* Updated copyrights in headers etc using perl inplace edit•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2795 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-01-151-1/+1
* Changed 65535 to MAX_DESCRIPTORS calculated at configure-time•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2699 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2005-12-291-2/+2
* Added extra checking to socketengine to refuse connections after we reach the...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2697 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2005-12-291-0/+1
* Added counters for MAX_DESCRIPTORS etc which allows the socket engine to refu...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2696 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2005-12-291-0/+10
* Optimizing to not use so much cpu with high user loads•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2691 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2005-12-291-2/+3
* Added comments•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2338 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2005-12-121-6/+81
* More experimental gubbins•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2330 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2005-12-121-4/+5
* Added GetType•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2327 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2005-12-121-323/+1
* EXPERIMENTAL new socket engine code•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2326 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2005-12-121-0/+7
* Made compile on freebsd•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2324 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2005-12-121-2/+14
* Added preliminary socketengine stuff•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2321 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2005-12-121-1/+50
* Removed references to connection.cpp and servers.cpp•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1948 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2005-11-251-30/+0
* Removal of mesh stuff (lots of)•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1938 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2005-11-251-0/+74
* Removed server socket stuff from socketengine•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1933 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2005-11-251-125/+1
* Changed comments•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1622 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2005-08-241-0/+36
* Tidied up socket engine code, moved into a specialized header full of #defines•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1621 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2005-08-241-0/+366