Jorijn van der Graaf
e86c3b70a0
feat(tcp): socket errors as std::system_error, with the phase that failed
...
SocketErrorException is now a std::system_error: code() carries the errno
under std::generic_category(), or getaddrinfo's result under the new
ResolverCategory(), whose message() is gai_strerror's text; `phase` says
which step failed (resolve, open, connect, send, receive). It is still a
std::runtime_error with the message ClientTCP always threw, the code's
text after it, so existing handlers keep working.
Before, the exception carried a `kind` and an int, and a caller that had
to print the cause its own way still had to match the message prefix to
learn where the failure happened. The standard type ends both: the
category knows how to print the number, and the phase is a field. A
caller writes "[Errno {}] {}" from code().value() and code().message(),
or compares code() with std::errc::connection_refused.
Breaking: SocketErrorException's `kind` and `code` members are gone;
read code().category() and code().value().
2026-10-31 20:33:37 +01:00
..
ShouldBindLoopbackEphemeral
feat(tcp): socket errors as std::system_error, with the phase that failed
2026-10-31 20:33:37 +01:00
ShouldBuildWithoutQUIC
feat: TCP-only builds; TCP options and timeouts; receives that report and keep what arrived
2026-10-20 20:04:57 +02:00
ShouldConfigureTCP
feat: TCP-only builds; TCP options and timeouts; receives that report and keep what arrived
2026-10-20 20:04:57 +02:00
ShouldConnectDualStack
feat(tcp): socket errors as std::system_error, with the phase that failed
2026-10-31 20:33:37 +01:00
ShouldEchoWebTransport
SPDX license
2026-07-22 17:55:45 +02:00
ShouldFallbackUnknownRoutes
test(http): replay one fallback route table over both listeners
2026-07-28 19:42:16 +00:00
ShouldFollowRedirectsHTTP1
feat(http1): bound the connect, and FetchHTTP1 for a URL with redirects
2026-10-31 20:28:32 +01:00
ShouldHonourQUICSettings
quic settings
2026-08-25 19:17:22 +02:00
ShouldInteropCurlHTTP1
feat(http1): add an HTTP/1.1 client and listener
2026-07-27 00:45:09 +00:00
ShouldInteropCurlHTTPS1
test(https): give the TLS tests ports of their own
2026-07-28 20:34:23 +00:00
ShouldNotDropEarlyStreams
SPDX license
2026-07-22 17:55:45 +02:00
ShouldParseHTTP1
feat(http1): add an HTTP/1.1 client and listener
2026-07-27 00:45:09 +00:00
ShouldRecieveTCP
feat: TCP-only builds; TCP options and timeouts; receives that report and keep what arrived
2026-10-20 20:04:57 +02:00
ShouldReportClosedQUICStream
feat: TCP-only builds; TCP options and timeouts; receives that report and keep what arrived
2026-10-20 20:04:57 +02:00
ShouldReportConnectErrors
feat(tcp): socket errors as std::system_error, with the phase that failed
2026-10-31 20:33:37 +01:00
ShouldReportIoErrors
feat(tcp): socket errors as std::system_error, with the phase that failed
2026-10-31 20:33:37 +01:00
ShouldRequireClientCertificateHTTPS1
test(https): give the TLS tests ports of their own
2026-07-28 20:34:23 +00:00
ShouldSend
SPDX license
2026-07-22 17:55:45 +02:00
ShouldSendRecieveHTTP
SPDX license
2026-07-22 17:55:45 +02:00
ShouldSendRecieveHTTP1
docs(http1): document the HTTP/1.1 stack, and expose the client's timeout
2026-07-27 01:02:37 +00:00
ShouldSendRecieveHTTPS1
test(https): give the TLS tests ports of their own
2026-07-28 20:34:23 +00:00
ShouldSendRecieveKeepaliveHTTP
SPDX license
2026-07-22 17:55:45 +02:00
ShouldSendRecieveKeepaliveHTTP1
feat(http1): add an HTTP/1.1 client and listener
2026-07-27 00:45:09 +00:00
ShouldSendRecieveLargeHTTP
SPDX license
2026-07-22 17:55:45 +02:00
ShouldSendRecieveLargeHTTP1
feat(http1): add an HTTP/1.1 client and listener
2026-07-27 00:45:09 +00:00
ShouldSendRecieveQUICDatagram
SPDX license
2026-07-22 17:55:45 +02:00
ShouldSendRecieveQUICStream
SPDX license
2026-07-22 17:55:45 +02:00
ShouldSurviveAbuseHTTP1
fix(http1): close a finished connection instead of holding it until reap
2026-07-27 00:56:53 +00:00
ShouldSurviveConnectionChurn
fix(quic): close stream handles whose async StreamStart lost the teardown race
2026-08-25 23:18:01 +00:00
ShouldTimeoutSilentHTTP1
feat(http1): bound the connect, and FetchHTTP1 for a URL with redirects
2026-10-31 20:28:32 +01:00