29 Commits

Author SHA1 Message Date
brain
193b540aa7 Socket error state stuff
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5607 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-31 20:32:01 +00:00
brain
4171efac17 Document SocketEngine::WantWrite()
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5591 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-30 20:51:52 +00:00
brain
dd168c56c9 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
2006-10-30 18:22:36 +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
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
cc83231b94 Remove X_ESTAB_CLASSDNS, X_ESTAB_DNS now does the job of this (i TOLD w00t 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
2006-08-01 22:22:02 +00:00
brain
40b67389a9 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
2006-07-19 13:29:06 +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
brain
b864f69ce9 Added class Resolver (needs testing)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4353 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-12 12:20:36 +00:00
brain
3dacf1edd2 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
2006-07-10 18:22:16 +00:00
brain
572a7b503b 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
2006-03-12 18:03:02 +00:00
brain
ba1d557ee3 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
2006-03-11 17:47:47 +00:00
brain
1383dba43e 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
2006-01-15 15:59:11 +00:00
brain
ee9f5d7784 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
2005-12-29 19:31:39 +00:00
brain
dc12fcac87 Added extra checking to socketengine to refuse connections after we reach the max
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2697 e03df62e-2008-0410-955e-edbf42e46eb7
2005-12-29 16:33:26 +00:00
brain
024f972eb1 Added counters for MAX_DESCRIPTORS etc which allows the socket engine to 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
2005-12-29 14:03:14 +00:00
brain
0bf908e49c 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
2005-12-29 00:19:35 +00:00
brain
277fc18372 Added comments
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2338 e03df62e-2008-0410-955e-edbf42e46eb7
2005-12-12 13:29:07 +00:00
brain
b81c2e4c4e More experimental gubbins
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2330 e03df62e-2008-0410-955e-edbf42e46eb7
2005-12-12 12:29:40 +00:00
brain
718e7fa3cc Added GetType
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2327 e03df62e-2008-0410-955e-edbf42e46eb7
2005-12-12 11:54:07 +00:00
brain
cef3e32fae EXPERIMENTAL new socket engine code
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2326 e03df62e-2008-0410-955e-edbf42e46eb7
2005-12-12 11:50:45 +00:00
brain
ff40e40c9e Made compile on freebsd
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2324 e03df62e-2008-0410-955e-edbf42e46eb7
2005-12-12 10:05:08 +00:00
brain
58f0da0eb9 Added preliminary socketengine stuff
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2321 e03df62e-2008-0410-955e-edbf42e46eb7
2005-12-12 09:53:10 +00:00
brain
f8d06e13c6 Removed references to connection.cpp and servers.cpp
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1948 e03df62e-2008-0410-955e-edbf42e46eb7
2005-11-25 13:39:24 +00:00
brain
61637bdbb3 Removal of mesh stuff (lots of)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1938 e03df62e-2008-0410-955e-edbf42e46eb7
2005-11-25 11:21:52 +00:00
brain
7b93adfd36 Removed server socket stuff from socketengine
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1933 e03df62e-2008-0410-955e-edbf42e46eb7
2005-11-25 10:03:48 +00:00
brain
3e67be8a51 Changed comments
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1622 e03df62e-2008-0410-955e-edbf42e46eb7
2005-08-24 16:10:49 +00:00
brain
a6c55540f5 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
2005-08-24 15:58:54 +00:00