aboutsummaryrefslogtreecommitdiff
path: root/src/socketengine.cpp
Commit message (Expand)AuthorAgeFilesLines
...
* Remove last vestige of libircdfoo, by changing tag into a single identifier...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10076 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar w00t2008-07-291-1/+1
* Properly clear the bandwidth measurements•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9923 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2008-06-181-1/+1
* another fix just to piss off people who are trying to build every svn revision•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9920 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2008-06-181-0/+1
* Fix typo•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9919 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2008-06-181-1/+1
* Measure bandwidth statistics from the socket engine (kiloBITS per second in, ...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9918 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2008-06-181-0/+25
* Fix the problems GreenReaper found with the windows select engine, this has n...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9514 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2008-04-151-14/+19
* 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/+0
* 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/+1
* 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
* Move socketengines into their own dir. This was all w00t's idea, but i told h...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8332 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-10-231-4/+4
* Conditionals in the buildsystem language allowing for checking of configure f...•••/* $If: USE_KQUEUE */ /* $ExtraSources: socketengine_kqueue.cpp */ /* $ExtraObjects: socketengine_kqueue.o */ /* $EndIf */ This is used exactly where the example dictates: to pick a socket engine from the socketengine.cpp. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8308 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-10-221-0/+19
* Remove the need for a bunch of the hard coded arrays/hashes by scanning the s...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8307 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-10-221-0/+2
* * 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-26/+37
* 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-1/+85
* This is now correct.•••No win32 #ifdefs in the base class, being as IOCPEngine is only built on windows we can put the code here without the need for ifdef. The original check in socketengine_iocp was broken, copied burlex's fixed version into the child class git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7724 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-08-151-14/+0
* * include/caller.h will now compile correctly on Windows platforms.•••+ Implemented gettimeofday in win32 wrapper, link rtt's will now display in milliseconds. * SocketEngine::BoundsCheckFd will now handle Windows event handler cases correctly. (fixing writing to sockets not working) * Fixed VC71 project. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7723 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar burlex2007-08-151-0/+14
* 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/+9
* 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/+93
* '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-93/+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-1/+1
* 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-1/+1
* Jesus, look who's the commit whore today. More header updates, and removal of...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5996 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar w00t2006-12-151-5/+2
* 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/+4
* Wahhhhhhhhhhhh bwahahaha. Mass commit to tidy up tons of messy include lists•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5080 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-301-3/+0
* 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-1/+1
* 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-21/+30
* So i wonder why we've not had this problem sooner•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4914 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-121-0/+1
* Just to mess with om's head, remove helperfuncs.h from everywhere•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4900 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-111-1/+1
* 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-2/+2
* Whoops, forgot SocketEngine::SocketEngine() gets called recursively from *Eng...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4441 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-07-191-4/+0
* * 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-179/+7
* Change log() to a #define, the real symbol is now do_log(), the new macro aut...•••You must make clean and rebuild all of insp. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4081 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar om2006-06-291-0/+1
* Check for failed epoll or kqueue•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3961 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-05-161-0/+11
* 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-0/+7
* Tweaks to socket engine, faster buffer flush and hopefully more stable•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3521 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-03-071-3/+3
* Valgrind fixes•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3353 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-02-261-0/+2
* 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
* Test change to level-triggered epoll•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2779 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-01-121-2/+2
* Added output of error if file descriptor given to AddFd is > MAX_DESCRIPTORS•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2701 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2005-12-291-0/+3
* Changed to MAX_DESCRIPTORS•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2700 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2005-12-291-7/+7
* 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-2/+6
* 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-1/+30
* 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-23/+22
* Changed a broken && to & which was preventing epoll from doing outbound conne...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2390 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2005-12-141-1/+1
* Removed some logging that can cause excessively huge logs when select() is be...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2366 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2005-12-131-3/+0
* Timing tweaks•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2342 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2005-12-121-1/+1
* Increased socketengine wait cycles•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2341 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2005-12-121-3/+3
* Added comments•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2338 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2005-12-121-0/+16
* select() debugging•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2336 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2005-12-121-2/+0
* Added checking to find out why select() splits•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2335 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2005-12-121-0/+10