<feed xmlns='http://www.w3.org/2005/Atom'>
<title>~steering/inspircd++.git/include/socketengine.h, branch v3.3.0</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>https://www.cgit.space/~steering/inspircd++.git/atom/include/socketengine.h?h=v3.3.0</id>
<link rel='self' href='https://www.cgit.space/~steering/inspircd++.git/atom/include/socketengine.h?h=v3.3.0'/>
<link rel='alternate' type='text/html' href='https://www.cgit.space/~steering/inspircd++.git/'/>
<updated>2019-07-21T15:57:19Z</updated>
<entry>
<title>Add a method for swapping user I/O handlers.</title>
<updated>2019-07-21T15:57:19Z</updated>
<author>
<name>Peter Powell</name>
</author>
<published>2019-07-21T15:56:55Z</published>
<link rel='alternate' type='text/html' href='https://www.cgit.space/~steering/inspircd++.git/commit/?id=5f387071d339892ebed5accba92f91f997396476'/>
<id>urn:sha1:5f387071d339892ebed5accba92f91f997396476</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Resize the event sets to 2x the CurrentSetSize in ResizeDouble().</title>
<updated>2019-05-14T15:28:11Z</updated>
<author>
<name>Peter Powell</name>
</author>
<published>2019-05-14T14:51:25Z</published>
<link rel='alternate' type='text/html' href='https://www.cgit.space/~steering/inspircd++.git/commit/?id=1a157c1e5c45f627da6f964419bd849a75dbdfe1'/>
<id>urn:sha1:1a157c1e5c45f627da6f964419bd849a75dbdfe1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Pass an irc::socket::sockaddrs to SocketEngine::SendTo().</title>
<updated>2018-01-20T12:24:35Z</updated>
<author>
<name>Peter Powell</name>
</author>
<published>2018-01-20T12:24:35Z</published>
<link rel='alternate' type='text/html' href='https://www.cgit.space/~steering/inspircd++.git/commit/?id=b7ecd18b73a301b28c61e3ac62cd6f7e4ed5c43e'/>
<id>urn:sha1:b7ecd18b73a301b28c61e3ac62cd6f7e4ed5c43e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Pass an irc::socket::sockaddrs to SocketEngine::Connect().</title>
<updated>2018-01-20T12:08:09Z</updated>
<author>
<name>Peter Powell</name>
</author>
<published>2018-01-20T12:08:09Z</published>
<link rel='alternate' type='text/html' href='https://www.cgit.space/~steering/inspircd++.git/commit/?id=b18e6b5556f2deedf6ebf154477c4d69dcf02638'/>
<id>urn:sha1:b18e6b5556f2deedf6ebf154477c4d69dcf02638</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Deduplicate error handling in the socket engines.</title>
<updated>2017-10-22T18:45:05Z</updated>
<author>
<name>Peter Powell</name>
</author>
<published>2017-10-22T02:10:48Z</published>
<link rel='alternate' type='text/html' href='https://www.cgit.space/~steering/inspircd++.git/commit/?id=63e300ed082b82530ad5ae0949f45686746b7c9b'/>
<id>urn:sha1:63e300ed082b82530ad5ae0949f45686746b7c9b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Convert GetMaxFds() to size_t and deduplicate setting code.</title>
<updated>2017-10-22T18:44:45Z</updated>
<author>
<name>Peter Powell</name>
</author>
<published>2017-10-22T01:27:25Z</published>
<link rel='alternate' type='text/html' href='https://www.cgit.space/~steering/inspircd++.git/commit/?id=b1098712771ab823042fcf8614a706c76c2ff401'/>
<id>urn:sha1:b1098712771ab823042fcf8614a706c76c2ff401</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove some outdated documentation from the SocketEngine class.</title>
<updated>2017-08-26T15:07:52Z</updated>
<author>
<name>Peter Powell</name>
</author>
<published>2017-08-26T15:07:52Z</published>
<link rel='alternate' type='text/html' href='https://www.cgit.space/~steering/inspircd++.git/commit/?id=2e331b313fb9aa55c6456f5ea2ad0735cd11a3fd'/>
<id>urn:sha1:2e331b313fb9aa55c6456f5ea2ad0735cd11a3fd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix a bunch of Doxygen warnings.</title>
<updated>2017-08-26T08:58:15Z</updated>
<author>
<name>Peter Powell</name>
</author>
<published>2017-08-25T12:03:53Z</published>
<link rel='alternate' type='text/html' href='https://www.cgit.space/~steering/inspircd++.git/commit/?id=a62ae50007c2945251ef1d2611513b6e711f5748'/>
<id>urn:sha1:a62ae50007c2945251ef1d2611513b6e711f5748</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Improve and centralize socket engine event counters.</title>
<updated>2017-07-11T12:22:02Z</updated>
<author>
<name>Robin Burchell</name>
</author>
<published>2017-03-22T16:59:08Z</published>
<link rel='alternate' type='text/html' href='https://www.cgit.space/~steering/inspircd++.git/commit/?id=8e8b0719bf58e2d875c06698f86377189da87e16'/>
<id>urn:sha1:8e8b0719bf58e2d875c06698f86377189da87e16</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Update description of class EventHandler</title>
<updated>2016-08-11T09:23:38Z</updated>
<author>
<name>Attila Molnar</name>
</author>
<published>2016-08-11T09:23:38Z</published>
<link rel='alternate' type='text/html' href='https://www.cgit.space/~steering/inspircd++.git/commit/?id=96642de3b2c6bf126ce173e9c49ed64e32e4c48b'/>
<id>urn:sha1:96642de3b2c6bf126ce173e9c49ed64e32e4c48b</id>
<content type='text'>
Readable() and Writeable() was removed long ago
</content>
</entry>
</feed>
