lsquic_ietf.h revision 5392f7a3
1/* Copyright (c) 2017 - 2019 LiteSpeed Technologies Inc.  See LICENSE. */
2#ifndef LSQUIC_IETF_H
3#define LSQUIC_IETF_H 1
4
5/* Things specific to the IETF version of QUIC that do not fit anywhere else */
6
7/* [draft-ietf-quic-transport-18] Section 22.3 */
8enum trans_error_code
9{
10    TEC_NO_ERROR                   =  0x0,
11    TEC_INTERNAL_ERROR             =  0x1,
12    TEC_SERVER_BUSY                =  0x2,
13    TEC_FLOW_CONTROL_ERROR         =  0x3,
14    TEC_STREAM_LIMIT_ERROR         =  0x4,
15    TEC_STREAM_STATE_ERROR         =  0x5,
16    TEC_FINAL_SIZE_ERROR           =  0x6,
17    TEC_FRAME_ENCODING_ERROR       =  0x7,
18    TEC_TRANSPORT_PARAMETER_ERROR  =  0x8,
19    TEC_VERSION_NEGOTIATION_ERROR  =  0x9,
20    TEC_PROTOCOL_VIOLATION         =  0xA,
21    TEC_INVALID_MIGRATION          =  0xC,
22    TEC_CRYPTO_BUFFER_EXCEEDED     =  0xD,
23};
24
25/* Must be at least two */
26#define MAX_IETF_CONN_DCIDS 8
27
28#endif
29