Nexus HTTP/3
A QUIC and HTTP/3 library
error.hpp
1 #pragma once
2 
3 #include <nexus/error_code.hpp>
4 
5 namespace nexus::h3 {
6 
8 enum class error {
9  no_error = 0x100,
10  general_protocol_error = 0x101,
11  internal_error = 0x102,
12  stream_creation_error = 0x103,
13  closed_critical_stream = 0x104,
14  frame_unexpected = 0x105,
15  frame_error = 0x106,
16  excessive_load = 0x107,
17  id_error = 0x108,
18  settings_error = 0x109,
19  missing_settings = 0x10a,
20  request_rejected = 0x10b,
21  request_cancelled = 0x10c,
22  request_incomplete = 0x10d,
23  message_error = 0x10e,
24  connect_error = 0x10f,
25  version_fallback = 0x110,
26  qpack_decompression_failed = 0x200,
27  qpack_encoder_stream_error = 0x201,
28  qpack_decoder_stream_error = 0x202,
29 };
30 
32 const error_category& h3_category();
33 
34 inline error_code make_error_code(error e)
35 {
36  return {static_cast<int>(e), h3_category()};
37 }
38 
39 inline error_condition make_error_condition(error e)
40 {
41  return {static_cast<int>(e), h3_category()};
42 }
43 
44 } // namespace nexus::quic
45 
46 namespace SYSTEM_ERROR_NAMESPACE {
47 
49 template <>
50 struct is_error_code_enum<nexus::h3::error> : public std::true_type {};
51 
52 } // namespace SYSTEM_ERROR_NAMESPACE
HTTP/3 library.
Definition: client.hpp:6
const error_category & h3_category()
h3 error category
error
http3-specific transport error codes
Definition: error.hpp:8
networking
Definition: error_code.hpp:8