14 Commits

Author SHA1 Message Date
brain
d0d36795e8 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
2007-08-23 22:06:04 +00:00
peavey
f2acdbc382 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
2007-07-16 17:30:04 +00:00
peavey
bab14f0dd2 'svn propset -R svn:eol-style CR *' Set to UNIX-style always. Binaries are auto skipped by svn.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7454 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-16 17:14:45 +00:00
brain
68fe463c84 Quick tweak before work, set the default force=false in these (im not keen on 'force' at all, its major ugly hax, but *shrug* :( how does it even know we're
using epoll or kqueue etc???)


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6298 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-11 06:20:06 +00:00
peavey
c662a37341 pgsql should now work thx to added posibility to force a fd out of the 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
2007-01-11 04:24:37 +00:00
w00t
696ee9ff66 And now, just to force you to recompile the *whole* ircd.. updated headers on the headers. :p
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5998 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-15 22:18:59 +00:00
brain
d9147559a3 Not tested yet: Write and read at the same time in kqueue
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5582 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-30 18:45:04 +00:00
brain
f013dc094d Typos in the socketengines
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4964 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-18 18:08:56 +00:00
brain
56cec38f3e Get rid of SocketEngine::Wait and array-copy, change to SocketEngine::DispatchEvents
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4944 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-18 10:07:22 +00:00
brain
e381b06561 EventHandler class, an abstraction for raw i/o
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4941 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-18 01:08:14 +00:00
brain
d9d4f8fdad Document some missing xline stuff
Document the variants of SocketEngine for epoll, kqueue and select


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4905 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-12 01:13:40 +00:00
brain
d174657167 Now two types of log macro, log() and ilog(). log() assumes an InspIRCd 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
2006-08-11 12:15:03 +00:00
brain
67daf0546b Fix typo in kqueue engine
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4440 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-19 12:54:56 +00:00
brain
3a6885d6a1 * 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
2006-07-19 12:51:21 +00:00