| Commit message (Expand) | Author | Age | Files | Lines |
| * | Update copyright headers. | InspIRCd Robot | 2020-01-11 | 1 | -2/+8 |
| * | Tweak the workaround for NetBSD's kqueue using intptr_t for udata.•••Thanks to @niacat for getting this fixed upstream.
| Peter Powell | 2019-10-05 | 1 | -2/+2 |
| * | Work around NetBSD's EV_SET using intptr_t instead of void*.•••Reported by @ensra.
| Peter Powell | 2019-05-03 | 1 | -4/+19 |
| * | Deduplicate error handling in the socket engines. | Peter Powell | 2017-10-22 | 1 | -9/+2 |
| * | Convert GetMaxFds() to size_t and deduplicate setting code. | Peter Powell | 2017-10-22 | 1 | -14/+1 |
| * | Improve and centralize socket engine event counters.•••The write counters were close to useless because they were only
incremented on a write "event" which is only triggered when writing
would block.
Read handling was a little more useful in that all reads must happen
through the socket engine, so these were happening at the correct time,
but we can clean this up by doing it in the SE itself rather than each
platform port.
This means that both read and write events are now easily and usefully
defined as "a syscall of either read or write was attempted".
We also count empty read and write events as being an event, because
they still were an attempt to poll a socket in some way. This may help
to identify "bad" code which is repeatedly trying to read a socket for
some reason.
Lastly, we check for failed read/write calls, and log them as an error
event. A lot of the time, this is how sockets are determined as being
disconnected (ie. at read/write time).
While we're at it, split Update() in two to make the calls more
self-describing. This has no real impact since only one call is made at
a time anyway.
| Robin Burchell | 2017-07-11 | 1 | -2/+0 |
| * | Dispatch EventHandler events to dedicated virtual functions•••Remove enum EventType
| Attila Molnar | 2015-04-12 | 1 | -3/+3 |
| * | Kill needless #includes in source files | Attila Molnar | 2014-06-14 | 1 | -1/+0 |
| * | Change the number reported by SocketEngine::GetMaxFds() to be informal•••Do not exit if we can't determine it
| Attila Molnar | 2014-06-07 | 1 | -6/+1 |
| * | Relax fd bounds checking•••We can cope with fds greater than SocketEngine::GetMaxFds() since 3752b3f59d5216d7dc6221a361efc76b9ad2273d
| Attila Molnar | 2014-06-07 | 1 | -2/+2 |
| * | Store the EventHandler* in the kevent/epoll_event/portev struct•••This removes the need to call GetRef() for every socket in DispatchEvents()
| Attila Molnar | 2014-02-09 | 1 | -7/+8 |
| * | Queue changes in socketengine_kqueue and submit them as we poll for new events | Adam | 2014-02-09 | 1 | -42/+26 |
| * | Change all socketengine methods to be static | Attila Molnar | 2014-02-08 | 1 | -33/+19 |
| * | Move socketengine stats into a new class | Attila Molnar | 2014-02-08 | 1 | -4/+4 |
| * | Update SocketEngine::CurrentSetSize in AddFdRef()/DelFdRef() | Attila Molnar | 2014-02-08 | 1 | -3/+0 |
| * | Rename SocketEngine::AddFd() and DelFd() to AddFdRef() and DelFdRef() | Attila Molnar | 2014-02-08 | 1 | -2/+2 |
| * | Move variables in socketengines•••Move timespec to DispatchEvents() in kqueue, there is no reason for it to be a member variable
| Attila Molnar | 2014-02-08 | 1 | -3/+1 |
| * | Replace SocketEngine::GetName() with INSPIRCD_SOCKETENGINE_NAME define | Attila Molnar | 2014-02-08 | 1 | -6/+0 |
| * | socketengine_kqueue Remove dead code | Attila Molnar | 2014-02-05 | 1 | -5/+1 |
| * | Fix oversight in 3752b3f59d5216d7dc6221a361efc76b9ad2273d | Attila Molnar | 2014-02-05 | 1 | -4/+8 |
| * | Coding style changes in socketengines | Adam | 2014-02-04 | 1 | -6/+3 |
| * | New socketengine stuff:•••Use vectors that grow as necessary instead of mass allocating everything at once
Rework poll engine logic to make sense
| Adam | 2014-02-04 | 1 | -20/+21 |
| * | Merge insp20 | attilamolnar | 2013-08-30 | 1 | -2/+2 |
| |\ |
|
| | * | Fix low risk crash when we can't determine maximum open socket count. | Peter Powell | 2013-07-07 | 1 | -2/+2 |
| * | | Fix spacing in calls to LogManager::Log. | Peter Powell | 2013-05-19 | 1 | -10/+10 |
| * | | Add LOG_ prefix to the log level enum values. | Peter Powell | 2013-04-12 | 1 | -11/+11 |
| |/ |
|
| * | OpenBSD does not have KERN_MAXFILESPERPROC. | Peter Powell | 2012-12-25 | 1 | -1/+5 |
| * | Replace printf(_c) with iostream | ChrisTX | 2012-10-14 | 1 | -3/+4 |
| * | Replace copyright headers with headers granting specific authors copyright | Robby- | 2012-04-19 | 1 | -8/+16 |
| * | Fix excessive memory use in kqueue•••The maximum number of file descriptors was incorrectly using the OS maximum,
not the process maximum. Thanks to Liath for finding & testing.
| Daniel De Graaf | 2011-03-03 | 1 | -1/+1 |
| * | Fix mismatched return value in kqueue DelFd•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12639 e03df62e-2008-0410-955e-edbf42e46eb7
| danieldg | 2010-03-16 | 1 | -1/+1 |
| * | Fix typo in kqueue•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12638 e03df62e-2008-0410-955e-edbf42e46eb7
| danieldg | 2010-03-16 | 1 | -1/+1 |
| * | DelFd should not fail, it will leave a bad dangling pointer in that case•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12584 e03df62e-2008-0410-955e-edbf42e46eb7
| danieldg | 2010-03-02 | 1 | -6/+4 |
| * | Don't send events for removed FDs when both read and write are ready•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12582 e03df62e-2008-0410-955e-edbf42e46eb7
| danieldg | 2010-03-02 | 1 | -0/+4 |
| * | Fix kqueue to not report 0 maximum open sockets•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12449 e03df62e-2008-0410-955e-edbf42e46eb7
| danieldg | 2010-02-13 | 1 | -26/+14 |
| * | Remove excessive gettimeofday system calls•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12293 e03df62e-2008-0410-955e-edbf42e46eb7
| danieldg | 2010-01-18 | 1 | -0/+1 |
| * | ...because every now and again, i have to do a massive commit.•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12248 e03df62e-2008-0410-955e-edbf42e46eb7
| brain | 2010-01-11 | 1 | -2/+2 |
| * | Remove include/inspircd_se_config.h and socketengine-specific headers•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11784 e03df62e-2008-0410-955e-edbf42e46eb7
| danieldg | 2009-09-30 | 1 | -1/+60 |
| * | Fix linking errors on BSD•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11774 e03df62e-2008-0410-955e-edbf42e46eb7
| danieldg | 2009-09-28 | 1 | -5/+1 |
| * | Add FD_WANT_SINGLE_WRITE to efficiently replace FD_WANT_POLL_WRITE•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11762 e03df62e-2008-0410-955e-edbf42e46eb7
| danieldg | 2009-09-26 | 1 | -6/+6 |
| * | Clean up SocketEngine interface to allow edge-triggered I/O and sockets that ...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11760 e03df62e-2008-0410-955e-edbf42e46eb7
| danieldg | 2009-09-26 | 1 | -49/+47 |
| * | Create StreamSocket for IO hooking implementation•••Fixes the SSL SendQ bug
Removes duplicate code between User and BufferedSocket
Simplify SSL module API
Simplify EventHandler API (Readable/Writeable moved to SE)
Add hook for culled objects to invoke callbacks prior to destructor
Replace SocketCull with GlobalCull now that sockets can close themselves
Shorten common case of user read/parse/write path:
User::Write is now zero-copy up to syscall/SSL invocation
User::Read has only two copy/scan passes from read() to ProcessCommand
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11752 e03df62e-2008-0410-955e-edbf42e46eb7
| danieldg | 2009-09-21 | 1 | -3/+3 |
| * | Update all wiki links to point to the new wiki. This was done automatically w...•••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
| psychon | 2009-03-15 | 1 | -1/+1 |
| * | Nuke trailing spaces•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11105 e03df62e-2008-0410-955e-edbf42e46eb7
| peavey | 2009-02-14 | 1 | -1/+1 |
| * | Some fixes to the kqueue socket engine•••The old code choked badly if a socket which was !eh->Readable() was added
(it went into an endless loop where kqueue would keep reporting that socket
for writeability).
This also fixes a bug where DelFd() failed to clean up properly which caused
the next AddFd() for an identical fd number to fail.
Oh and this also adds some error messages and does some minor cleanup...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11033 e03df62e-2008-0410-955e-edbf42e46eb7
| psychon | 2009-02-06 | 1 | -20/+33 |
| * | Missed one, thx peavey!•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10972 e03df62e-2008-0410-955e-edbf42e46eb7
| w00t | 2009-01-18 | 1 | -1/+1 |
| * | Fix what should have been the (real) problems with kqueue, so far so good for...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10971 e03df62e-2008-0410-955e-edbf42e46eb7
| w00t | 2009-01-18 | 1 | -4/+3 |
| * | Revert "Revert some of w00ts kqueue massacre from september, for some reason ...•••This reverts commit 11302829a008263dc306d08d675ad49d7d3f62ab.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10970 e03df62e-2008-0410-955e-edbf42e46eb7
| w00t | 2009-01-18 | 1 | -2/+4 |
| * | Revert some of w00ts kqueue massacre from september, for some reason its not ...•••randomly uses 100% cpu with the newer code, seems kqueue doesnt quite like to work exactly the same as epoll and poll.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10960 e03df62e-2008-0410-955e-edbf42e46eb7
| brain | 2009-01-14 | 1 | -4/+2 |
| * | Update copyrights for 2009.•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10932 e03df62e-2008-0410-955e-edbf42e46eb7
| w00t | 2009-01-02 | 1 | -1/+1 |