summaryrefslogtreecommitdiff
path: root/src/socketengine_iocp.cpp
AgeCommit message (Collapse)Author
2007-10-21Set these back to sane operationbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8271 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-21Change how the socket engines work when you addfd on an fd that already exists.brain
the only SANE outcome is that youve forgotten to DelFd, so it does this for you. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8269 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-18Socket engine tweaks to fix a glitch, and improvements to new m_identbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8225 e03df62e-2008-0410-955e-edbf42e46eb7
2007-09-25Fix for bug #407, set ref[fd] AFTER some checks that may return false and ↵brain
leave the socket engine in an undefined state git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8077 e03df62e-2008-0410-955e-edbf42e46eb7
2007-09-23Test from vista laptopbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8052 e03df62e-2008-0410-955e-edbf42e46eb7
2007-09-04* Fixed some incorrect declarations in IOCPEngineburlex
* 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
2007-08-23Move the close() wrapper out of the win32wrapper.h, and into its new proper ↵brain
place at SocketEngine::Close() git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7812 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-23Craquity craq De-craq!brain
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
2007-08-23Move WSACleanup() into IOCPEngine destructor, eliminating an "#ifdef WIN32" ↵brain
from inspircd.cpp git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7807 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-15This is now correct.brain
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
2007-07-27Windows specific data types in EventHandler are now Extensible itemsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7599 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-27Some smart tricks to eliminate win32 ifdefs that are creeping into portable ↵brain
files git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7589 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-25Un-static InspIRCd::Exit and use SignalHandler instead.peavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7572 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-23A couple of tweaks that i did earlier as diffs. ISON didnt always respect ↵brain
invisibility state of users. socketengine iocp didnt range check fd's before passing them for array lookup git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7502 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-23* Sockets will now always be nonblocking on win32 version of InspIRCd. There ↵burlex
were some cases (mainly in TreeSockets) where a socket would not get restored to nonblocking mode after a connect() call, resulting in the server getting stuck on a blocking send() call causing freezeups. * configure will now compile under VC7 again. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7500 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-21I broke socketengine_iocp with some fixes. Fixed again.brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7488 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-19Whoops, someone forgot to check the return value when initializing windows IOCPbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7476 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-17Validation checks that seem to have been omitted here.brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7469 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-16OOPS! We try again, since I'm smoking craq. LF is 0x0a NOT CR.peavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7456 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-16'svn propset -R svn:eol-style CR *' Set to UNIX-style always. Binaries are ↵peavey
auto skipped by svn. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7454 e03df62e-2008-0410-955e-edbf42e46eb7
2007-06-14Whack a ^Mbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7319 e03df62e-2008-0410-955e-edbf42e46eb7
2007-06-14- Made the recvfrom wrapper a bit neater.burlex
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7314 e03df62e-2008-0410-955e-edbf42e46eb7
2007-06-14- Fixed UDP Overlapped I/O under windows. (not the best way this could be ↵burlex
done by far, but probably the best that is possible with our EventHandler setup). *dns will now work under win32* :) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7313 e03df62e-2008-0410-955e-edbf42e46eb7
2007-06-13* Fixed IOCPEngine under x64 (because of incorrect pointer sizes)burlex
- Fixed configure / VC8 projects for x64 compiling. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7293 e03df62e-2008-0410-955e-edbf42e46eb7
2007-06-02Change the behaviour of insp in windows to keep its window open, with some ↵brain
status text in the title bar. It also clears the screen now on startup, see the wrapper for what a nasty amount of code it is to do such a simple thing to a windows console :( Also, add somewhat of a hack to cut down on allocation time taken to map windows fd to a posix style fd in iocp engine. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7217 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-29All the other socketengines have a 1s wait on their 'poll' equivalent. ↵brain
GetQueuedCompletionStatus had a delay of 100ms. Upped to 1s to be more sane and more in line with the other socket engines. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7185 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-25Tidy up to coding stylebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7139 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-20try...catch around the map::insert in AddFd, for some reason it throws ↵brain
sometimes. If it does, we return false, which the core can handle neatly as 'failed to add fd' git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7065 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-20Remove asserts and convert to unix line endingsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7064 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-19Helps if I add the w32 specific code, too. :pw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7044 e03df62e-2008-0410-955e-edbf42e46eb7