diff options
author | comex <comexk@gmail.com> | 2021-01-24 15:17:02 -0500 |
---|---|---|
committer | comex <comexk@gmail.com> | 2021-02-28 17:25:31 -0500 |
commit | 2910aa77b2feea39fc0618598e275b138a346e71 (patch) | |
tree | 2760d0c2914c672ae2cd2450851e4feda3b053e5 /src/input_common/udp/client.cpp | |
parent | 9e9341f4b4c4165970252b73d4b02b8661fbc0b8 (diff) |
[network] Error handling reform
`network.cpp` has several error paths which either:
- report "Unhandled host socket error=n" and return `SUCCESS`, or
- switch on a few possible errors, log them, and translate them to
Errno; the same switch statement is copied and pasted in multiple
places in the code
Convert these paths to use a helper function `GetAndLogLastError`, which
is roughly the equivalent of one of the switch statements, but:
- handling more cases (both ones that were already in `Errno`, and a few
more I added), and
- using OS functions to convert the error to a string when logging, so
it'll describe the error even if it's not one of the ones in the
switch statement.
- To handle this, refactor the logic in `GetLastErrorMsg` to expose a
new function `NativeErrorToString` which takes the error number
explicitly as an argument. And improve the Windows version a bit.
Also, add a test which exercises two random error paths.
Diffstat (limited to 'src/input_common/udp/client.cpp')
0 files changed, 0 insertions, 0 deletions