summaryrefslogtreecommitdiff
path: root/include/socketengine.h
Commit message (Collapse)AuthorAgeFilesLines
* Update all wiki links to point to the new wiki. This was done automatically ↵Gravatar psychon2009-03-151-1/+1
| | | | | | | | | with the following command, only .Makefile.inc got some indent fixups by hand. for file in $(find -type f -and -not -path '*/.svn/*' -and -not -name '*.so') ; do sed -e 's#http://www.inspircd.org/wiki#http://wiki.inspircd.org#' -e 's#http://wiki.inspircd.org/index.php/#http://wiki.inspircd.org/#' -i $file ; done git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11223 e03df62e-2008-0410-955e-edbf42e46eb7
* Update copyrights for 2009.Gravatar w00t2009-01-021-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10932 e03df62e-2008-0410-955e-edbf42e46eb7
* Initialising the member we added might be an idea.Gravatar w00t2008-09-071-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10456 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix forward-declaration caused as a result of recent changes.Gravatar w00t2008-09-071-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10448 e03df62e-2008-0410-955e-edbf42e46eb7
* Start moving IO hooking from being bufferedsocket based to residing in ↵Gravatar w00t2008-09-071-0/+20
| | | | | | EventHandler, this will pave the way for a generic listener type, and also simplifies a lot of code. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10447 e03df62e-2008-0410-955e-edbf42e46eb7
* Measure bandwidth statistics from the socket engine (kiloBITS per second in, ↵Gravatar brain2008-06-181-0/+10
| | | | | | out, total) and display them in /stats z plus send them via the named pipe to the windows gui git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9918 e03df62e-2008-0410-955e-edbf42e46eb7
* Automatic detection and allocation of max fds. No longer needs recompile to ↵Gravatar brain2008-04-021-1/+3
| | | | | | | | | change, just adjust it in your kernel or whatever and restart insp. 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
* Keep count of the number of events in total, and seperate read, write and ↵Gravatar brain2008-02-141-0/+6
| | | | | | error event counters. We can use this for monitoring of heavy socket engine activity, e.g. a 'stuck' eventhandler git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8933 e03df62e-2008-0410-955e-edbf42e46eb7
* Header update: 2007 -> 2008Gravatar w00t2008-01-101-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8694 e03df62e-2008-0410-955e-edbf42e46eb7
* * Fixed some incorrect declarations in IOCPEngineGravatar burlex2007-09-041-1/+1
| | | | | | | | | | * 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
* Document all this shit!Gravatar brain2007-08-231-0/+79
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7811 e03df62e-2008-0410-955e-edbf42e46eb7
* Craquity craq De-craq!Gravatar brain2007-08-231-0/+32
| | | | | | | | | | 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
* Fixed, i forgot the virtual when implementing thisGravatar brain2007-08-151-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7725 e03df62e-2008-0410-955e-edbf42e46eb7
* Windows specific data types in EventHandler are now Extensible itemsGravatar brain2007-07-271-18/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7599 e03df62e-2008-0410-955e-edbf42e46eb7
* Removal of some ifdefsGravatar brain2007-07-271-8/+7
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7598 e03df62e-2008-0410-955e-edbf42e46eb7
* Some smart tricks to eliminate win32 ifdefs that are creeping into portable ↵Gravatar brain2007-07-271-0/+6
| | | | | | files git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7589 e03df62e-2008-0410-955e-edbf42e46eb7
* OOPS! We try again, since I'm smoking craq. LF is 0x0a NOT CR.Gravatar peavey2007-07-161-1/+296
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7456 e03df62e-2008-0410-955e-edbf42e46eb7
* 'svn propset -R svn:eol-style CR *' Set to UNIX-style always. Binaries are ↵Gravatar peavey2007-07-161-296/+1
| | | | | | auto skipped by svn. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7454 e03df62e-2008-0410-955e-edbf42e46eb7
* CommentsGravatar brain2007-06-171-3/+11
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7382 e03df62e-2008-0410-955e-edbf42e46eb7
* Space indents must die.Gravatar brain2007-05-191-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7049 e03df62e-2008-0410-955e-edbf42e46eb7
* Windows support. Tested and working to compile on freebsd and linux. Next ↵Gravatar w00t2007-05-191-4/+19
| | | | | | step is to make sure it actually works in windows too. ;p. Add Burlex to contributors. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7043 e03df62e-2008-0410-955e-edbf42e46eb7
* Update inline documentation for DelFd() so the doxygen docs will be correct.Gravatar peavey2007-01-121-0/+8
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6300 e03df62e-2008-0410-955e-edbf42e46eb7
* pgsql should now work thx to added posibility to force a fd out of the ↵Gravatar peavey2007-01-111-2/+2
| | | | | | socketengine. This should only be used as a *last resort* when dealing with 3rd party libs that invalidates a file descriptor beyond your control. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6295 e03df62e-2008-0410-955e-edbf42e46eb7
* And now, just to force you to recompile the *whole* ircd.. updated headers ↵Gravatar w00t2006-12-151-6/+3
| | | | | | on the headers. :p git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5998 e03df62e-2008-0410-955e-edbf42e46eb7
* Socket error state stuffGravatar brain2006-10-311-2/+6
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5607 e03df62e-2008-0410-955e-edbf42e46eb7
* Document SocketEngine::WantWrite()Gravatar brain2006-10-301-1/+25
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5591 e03df62e-2008-0410-955e-edbf42e46eb7
* WARNING: This commit breaks kqueue and select -- work in progress!Gravatar brain2006-10-301-0/+2
| | | | | | | 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
* Get rid of SocketEngine::Wait and array-copy, change to ↵Gravatar brain2006-08-181-9/+5
| | | | | | SocketEngine::DispatchEvents git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4944 e03df62e-2008-0410-955e-edbf42e46eb7
* EventHandler class, an abstraction for raw i/oGravatar brain2006-08-181-56/+144
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4941 e03df62e-2008-0410-955e-edbf42e46eb7
* Now two types of log macro, log() and ilog(). log() assumes an InspIRCd ↵Gravatar brain2006-08-111-1/+4
| | | | | | | | | object called ServerInstance, ilog() takes an InspIRCd object as first param. 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
* Remove X_ESTAB_CLASSDNS, X_ESTAB_DNS now does the job of this (i TOLD w00t ↵Gravatar brain2006-08-011-2/+1
| | | | | | and om i was removing this eventually, and now i did :p) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4625 e03df62e-2008-0410-955e-edbf42e46eb7
* Add #include <sys/select.h> to select engine, we probably need itGravatar brain2006-07-191-0/+9
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4443 e03df62e-2008-0410-955e-edbf42e46eb7
* * Seperate out socket engines into derived classes of SocketEngine.Gravatar brain2006-07-191-29/+9
| | | | | | | | | * 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
* Added class Resolver (needs testing)Gravatar brain2006-07-121-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4353 e03df62e-2008-0410-955e-edbf42e46eb7
* Made a load more stuff Extensible which might be of use to someoneGravatar brain2006-07-101-1/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4293 e03df62e-2008-0410-955e-edbf42e46eb7
* Commented a lot of stuff that hasnt been commented since 1.0.2Gravatar brain2006-03-121-0/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3695 e03df62e-2008-0410-955e-edbf42e46eb7
* Added method to check if an fd is in the socketengine or notGravatar brain2006-03-111-1/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3667 e03df62e-2008-0410-955e-edbf42e46eb7
* Updated copyrights in headers etc using perl inplace editGravatar brain2006-01-151-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2795 e03df62e-2008-0410-955e-edbf42e46eb7
* Changed 65535 to MAX_DESCRIPTORS calculated at configure-timeGravatar brain2005-12-291-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2699 e03df62e-2008-0410-955e-edbf42e46eb7
* Added extra checking to socketengine to refuse connections after we reach ↵Gravatar brain2005-12-291-0/+1
| | | | | | the max git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2697 e03df62e-2008-0410-955e-edbf42e46eb7
* Added counters for MAX_DESCRIPTORS etc which allows the socket engine to ↵Gravatar brain2005-12-291-0/+10
| | | | | | refuse new fd's once you hit the OS limit git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2696 e03df62e-2008-0410-955e-edbf42e46eb7
* Optimizing to not use so much cpu with high user loadsGravatar brain2005-12-291-2/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2691 e03df62e-2008-0410-955e-edbf42e46eb7
* Added commentsGravatar brain2005-12-121-6/+81
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2338 e03df62e-2008-0410-955e-edbf42e46eb7
* More experimental gubbinsGravatar brain2005-12-121-4/+5
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2330 e03df62e-2008-0410-955e-edbf42e46eb7
* Added GetTypeGravatar brain2005-12-121-323/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2327 e03df62e-2008-0410-955e-edbf42e46eb7
* EXPERIMENTAL new socket engine codeGravatar brain2005-12-121-0/+7
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2326 e03df62e-2008-0410-955e-edbf42e46eb7
* Made compile on freebsdGravatar brain2005-12-121-2/+14
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2324 e03df62e-2008-0410-955e-edbf42e46eb7
* Added preliminary socketengine stuffGravatar brain2005-12-121-1/+50
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2321 e03df62e-2008-0410-955e-edbf42e46eb7
* Removed references to connection.cpp and servers.cppGravatar brain2005-11-251-30/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1948 e03df62e-2008-0410-955e-edbf42e46eb7
* Removal of mesh stuff (lots of)Gravatar brain2005-11-251-0/+74
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1938 e03df62e-2008-0410-955e-edbf42e46eb7