Macros
Library version macros
-
DWNX_VERSION
Version number of the dwnx library release.
-
DWNX_VERSION_NUM
Numerical representation of the version number of the dwnx library release. This is a 24 bit number with 8 bits for major number, 8 bits for minor and 8 bits for patch. Version 1.2.3 becomes 0x010203.
QUIC specific macros
-
DWNX_MAX_VARINT
DWNX_MAX_VARINTis the maximum value which can be encoded in variable-length integer encoding.
-
DWNX_DEFAULT_MAX_RECORD_SIZE
DWNX_DEFAULT_MAX_RECORD_SIZEis the default maximum QMux record size.
dwnx library error codes
-
DWNX_ERR_INVALID_ARGUMENT
DWNX_ERR_INVALID_ARGUMENTindicates that a passed argument is invalid.
-
DWNX_ERR_NOBUF
DWNX_ERR_NOBUFindicates that a provided buffer does not have enough space to store data.
-
DWNX_ERR_PROTO
DWNX_ERR_PROTOindicates a general protocol error.
-
DWNX_ERR_INVALID_STATE
DWNX_ERR_INVALID_STATEindicates that a requested operation is not allowed at the current connection state.
-
DWNX_ERR_STREAM_ID_BLOCKED
DWNX_ERR_STREAM_ID_BLOCKEDindicates that there is no spare stream ID available.
-
DWNX_ERR_STREAM_IN_USE
DWNX_ERR_STREAM_IN_USEindicates that a stream ID is already in use.
-
DWNX_ERR_STREAM_DATA_BLOCKED
DWNX_ERR_STREAM_DATA_BLOCKEDindicates that stream data cannot be sent because of flow control.
-
DWNX_ERR_FLOW_CONTROL
DWNX_ERR_FLOW_CONTROLindicates flow control error.
-
DWNX_ERR_STREAM_LIMIT
DWNX_ERR_STREAM_LIMITindicates that a remote endpoint opens more streams that is permitted.
-
DWNX_ERR_FINAL_SIZE
DWNX_ERR_FINAL_SIZEindicates that inconsistent final size of a stream.
-
DWNX_ERR_REQUIRED_TRANSPORT_PARAM
DWNX_ERR_REQUIRED_TRANSPORT_PARAMindicates that a required transport parameter is missing.
-
DWNX_ERR_MALFORMED_TRANSPORT_PARAM
DWNX_ERR_MALFORMED_TRANSPORT_PARAMindicates that a transport parameter is malformed.
-
DWNX_ERR_FRAME_ENCODING
DWNX_ERR_FRAME_ENCODINGindicates there is an error in frame encoding.
-
DWNX_ERR_STREAM_SHUT_WR
DWNX_ERR_STREAM_SHUT_WRindicates no more data can be sent to a stream.
-
DWNX_ERR_STREAM_NOT_FOUND
DWNX_ERR_STREAM_NOT_FOUNDindicates that a stream was not found.
-
DWNX_ERR_STREAM_STATE
DWNX_ERR_STREAM_STATEindicates that a requested operation is not allowed at the current stream state.
-
DWNX_ERR_CLOSING
DWNX_ERR_CLOSINGindicates that connection is in closing state.
-
DWNX_ERR_DRAINING
DWNX_ERR_DRAININGindicates that connection is in draining state.
-
DWNX_ERR_TRANSPORT_PARAM
DWNX_ERR_TRANSPORT_PARAMindicates a general transport parameter error.
-
DWNX_ERR_INTERNAL
DWNX_ERR_INTERNALindicates an internal error.
-
DWNX_ERR_WRITE_MORE
DWNX_ERR_WRITE_MOREindicatesDWNX_WRITE_STREAM_FLAG_MOREis used and a function call succeeded.
-
DWNX_ERR_IDLE_CLOSE
DWNX_ERR_IDLE_CLOSEindicates the connection should be closed silently because of idle timeout.
-
DWNX_ERR_FATAL
DWNX_ERR_FATALindicates that error codes less than this value is fatal error. When this error is returned, an endpoint should close connection immediately.
-
DWNX_ERR_NOMEM
DWNX_ERR_NOMEMindicates out of memory.
-
DWNX_ERR_CALLBACK_FAILURE
DWNX_ERR_CALLBACK_FAILUREindicates that user defined callback function failed.
QUIC transport error code
-
DWNX_NO_ERROR
DWNX_NO_ERRORis QUIC transport error codeNO_ERROR.
-
DWNX_INTERNAL_ERROR
DWNX_INTERNAL_ERRORis QUIC transport error codeINTERNAL_ERROR.
-
DWNX_CONNECTION_REFUSED
DWNX_CONNECTION_REFUSEDis QUIC transport error codeCONNECTION_REFUSED.
-
DWNX_FLOW_CONTROL_ERROR
DWNX_FLOW_CONTROL_ERRORis QUIC transport error codeFLOW_CONTROL_ERROR.
-
DWNX_STREAM_LIMIT_ERROR
DWNX_STREAM_LIMIT_ERRORis QUIC transport error codeSTREAM_LIMIT_ERROR.
-
DWNX_STREAM_STATE_ERROR
DWNX_STREAM_STATE_ERRORis QUIC transport error codeSTREAM_STATE_ERROR.
-
DWNX_FINAL_SIZE_ERROR
DWNX_FINAL_SIZE_ERRORis QUIC transport error codeFINAL_SIZE_ERROR.
-
DWNX_FRAME_ENCODING_ERROR
DWNX_FRAME_ENCODING_ERRORis QUIC transport error codeFRAME_ENCODING_ERROR.
-
DWNX_TRANSPORT_PARAMETER_ERROR
DWNX_TRANSPORT_PARAMETER_ERRORis QUIC transport error codeTRANSPORT_PARAMETER_ERROR.
-
DWNX_PROTOCOL_VIOLATION
DWNX_PROTOCOL_VIOLATIONis QUIC transport error codePROTOCOL_VIOLATION.
-
DWNX_APPLICATION_ERROR
DWNX_APPLICATION_ERRORis QUIC transport error codeAPPLICATION_ERROR.
STREAM frame data flags
-
DWNX_STREAM_DATA_FLAG_NONE
DWNX_STREAM_DATA_FLAG_NONEindicates no flag set.
-
DWNX_STREAM_DATA_FLAG_FIN
DWNX_STREAM_DATA_FLAG_FINindicates that this chunk of data is final piece of an incoming stream.
Stream close flags for dwnx_stream_close callback.
-
DWNX_STREAM_CLOSE_FLAG_NONE
DWNX_STREAM_CLOSE_FLAG_NONEindicates no flag set.
-
DWNX_STREAM_CLOSE_FLAG_RX_APP_ERROR_CODE_SET
DWNX_STREAM_CLOSE_FLAG_RX_APP_ERROR_CODE_SETindicates that rx_app_error_code parameter is set.
-
DWNX_STREAM_CLOSE_FLAG_TX_APP_ERROR_CODE_SET
DWNX_STREAM_CLOSE_FLAG_TX_APP_ERROR_CODE_SETindicates that tx_app_error_code parameter is set.
Write stream data flags
-
DWNX_WRITE_STREAM_FLAG_NONE
DWNX_WRITE_STREAM_FLAG_NONEindicates no flag set.
-
DWNX_WRITE_STREAM_FLAG_FIN
DWNX_WRITE_STREAM_FLAG_FINindicates that a passed data is the final part of a stream.