aboutsummaryrefslogtreecommitdiff
path: root/src/socketengine.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright headers.Gravatar InspIRCd Robot2025-01-041-1/+1
|
* Fix some compiler warnings when building on Haiku.Gravatar Sadie Powell2024-12-011-2/+2
|
* Update copyright headers.Gravatar InspIRCd Robot2024-06-071-3/+4
|
* QuickExit is obsolete again so we can remove it again.Gravatar Sadie Powell2023-10-171-1/+1
|
* Simplify the codes that InspIRCd can exit with.Gravatar Sadie Powell2023-07-131-2/+1
| | | | | | | The custom codes that InspIRCd exits with are not very useful and can confuse init systems like systemd which assume that certain exit codes mean certain things. INSPIRCD_BINARY_EXIT was a workaround for this in v3 but considering thatsers have to check the logs anyway so we may as well just use EXIT_SUCCESS and EXIT_FAILURE.
* Remove rang and use fmtlib for printing coloured messages.Gravatar Sadie Powell2023-07-121-5/+4
| | | | | | | | | This supports more platforms (e.g. Haiku) and is actually still maintained unlike the former. All of this code should really be cleaned up for release (maybe by adding something like Anope's LOG_CONSOLE) but for now I've just replaced it with the fmtlib equivalent.
* Replace SocketEngine::SetReuse with SocketEngine::SetOption.Gravatar Sadie Powell2023-01-171-6/+0
|
* Merge branch 'insp3' into master.Gravatar Sadie Powell2023-01-011-1/+1
|\
| * Update copyright headers.Gravatar InspIRCd Robot2022-12-301-1/+1
| |
* | Merge branch 'insp3' into master.Gravatar Sadie Powell2022-12-251-11/+4
|\|
| * Deduplicate retrieving error messages on Windows.Gravatar Sadie Powell2022-12-131-11/+4
| |
* | Refactor SocketEngine slightly.Gravatar Sadie Powell2022-12-251-33/+23
| | | | | | | | | | | | | | - Remove pointless shutdown() wrapper. - Remove pointless bounds checking function. - Make Bind and Listen take an EventHandler instead of a fd. - Add nullability attributes to every method.
* | More const correctness work.Gravatar Sadie Powell2022-12-081-1/+1
| |
* | Clean up various socket-related code.Gravatar Sadie Powell2022-10-121-6/+0
| |
* | Fix various cases of the &* being next to the name instead of type.Gravatar Sadie Powell2022-09-291-5/+5
| |
* | Clean up the Windows build process and remove some legacy code.Gravatar Sadie Powell2022-09-031-3/+2
| |
* | Merge branch 'insp3' into master.Gravatar Sadie Powell2022-08-271-1/+1
|\|
| * Update copyright headers.Gravatar InspIRCd Robot2022-08-251-1/+1
| |
* | Modernize various minor legacy C++isms.Gravatar Sadie Powell2022-07-301-2/+2
| |
* | Switch from NULL to nullptr.Gravatar Sadie Powell2022-07-221-4/+4
| |
* | Merge branch 'insp3' into master.Gravatar Sadie Powell2022-07-191-1/+1
|\|
| * Also use binary exit codes in places that terminate abruptly.Gravatar Sadie Powell2022-07-191-1/+1
| | | | | | | | This is a partial reversion of commit 57330e973b3eb1f2a84803c84daf9d6b420859fd.
* | Slim down the globally included files.Gravatar Sadie Powell2022-04-301-0/+5
| |
* | Replace consolecolors with a vendored library.Gravatar Sadie Powell2022-01-261-2/+4
| | | | | | | | | | This library supports much more than consolecolors including the Windows 8 console API.
* | Slim the included headers down more.Gravatar Sadie Powell2022-01-261-3/+4
| |
* | Merge branch 'insp3' into master.Gravatar Sadie Powell2022-01-031-1/+1
|\|
| * Update copyright headers.Gravatar InspIRCd Robot2021-12-301-1/+1
| |
* | Remove a bunch of unnecessary whitespace.Gravatar Sadie Powell2021-08-171-1/+0
| |
* | Fix MSVC compatibility issues.Gravatar Sadie Powell2021-06-071-1/+1
| |
* | Added -Wshorten-64-to-32 and fixed all warnings.Gravatar Dominic Hamon2021-05-301-14/+14
| |
* | Rip out the SwapInternals method.Gravatar Sadie Powell2021-04-191-6/+0
| | | | | | | | | | This never really worked correctly and will now be replaced with something better.
* | Fix a ton of pedantic compiler warnings.Gravatar Sadie Powell2021-04-041-7/+7
|/
* Update copyright headers.Gravatar InspIRCd Robot2020-04-241-1/+1
|
* Add HasFd to EventHandler and switch code to use it.Gravatar Sadie Powell2020-02-151-5/+1
|
* Update copyright headers.Gravatar InspIRCd Robot2020-01-111-4/+9
|
* Add a method for swapping user I/O handlers.Gravatar Peter Powell2019-07-211-0/+6
|
* Fix building on Windows (mostly).Gravatar Peter Powell2018-02-171-0/+4
|
* Pass an irc::socket::sockaddrs to SocketEngine::SendTo().Gravatar Peter Powell2018-01-201-2/+2
|
* Pass an irc::socket::sockaddrs to SocketEngine::Connect().Gravatar Peter Powell2018-01-201-2/+2
|
* Get rid of InspIRCd::QuickExit.Gravatar Peter Powell2017-12-231-1/+1
| | | | | | | | This is just a thin wrapper around exit(). I don't think we really need it. While we are changing this code the setgroup/setuser code should be using EXIT_STATUS_CONFIG too.
* Deduplicate error handling in the socket engines.Gravatar Peter Powell2017-10-221-0/+9
|
* Convert GetMaxFds() to size_t and deduplicate setting code.Gravatar Peter Powell2017-10-221-2/+16
|
* Improve and centralize socket engine event counters.Gravatar Robin Burchell2017-07-111-13/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Dispatch EventHandler events to dedicated virtual functionsGravatar Attila Molnar2015-04-121-2/+10
| | | | Remove enum EventType
* Add SocketEngine::WriteV()Gravatar Attila Molnar2015-03-041-0/+27
|
* Merge insp20Gravatar Attila Molnar2014-07-251-1/+7
|\
| * Filter out newlines from error messages on WindowsGravatar Attila Molnar2014-04-121-1/+7
| |
* | Relax fd bounds checkingGravatar Attila Molnar2014-06-071-1/+1
| | | | | | | | We can cope with fds greater than SocketEngine::GetMaxFds() since 3752b3f59d5216d7dc6221a361efc76b9ad2273d
* | Call DelFd() and SetFd(-1) from SocketEngine::Close(EventHandler*)Gravatar Attila Molnar2014-02-091-6/+5
| |
* | Change all socketengine methods to be staticGravatar Attila Molnar2014-02-081-18/+19
| |