[][src]Crate libnghttp2_sys

Structs

nghttp2_data

@struct

nghttp2_data_provider

@struct

nghttp2_ext_altsvc

@struct

nghttp2_ext_origin

@struct

nghttp2_extension

@struct

nghttp2_frame_hd

@struct The frame header.

nghttp2_goaway

@struct

nghttp2_hd_deflater
nghttp2_hd_inflater
nghttp2_headers

@struct

nghttp2_info

@struct

nghttp2_mem

@struct

nghttp2_nv

@struct

nghttp2_option
nghttp2_origin_entry

@struct

nghttp2_ping

@struct

nghttp2_priority

@struct

nghttp2_priority_spec

@struct

nghttp2_push_promise

@struct

nghttp2_rcbuf
nghttp2_rst_stream

@struct

nghttp2_session
nghttp2_session_callbacks
nghttp2_settings

@struct

nghttp2_settings_entry

@struct

nghttp2_stream
nghttp2_vec

@struct

nghttp2_window_update

@struct

Constants

NGHTTP2_ALTSVC

The ALTSVC frame, which is defined in RFC 7383 <https://tools.ietf.org/html/rfc7838#section-4>_.

NGHTTP2_CANCEL

CANCEL

NGHTTP2_COMPRESSION_ERROR

COMPRESSION_ERROR

NGHTTP2_CONNECT_ERROR

CONNECT_ERROR

NGHTTP2_CONTINUATION

The CONTINUATION frame. This frame type won't be passed to any callbacks because the library processes this frame type and its preceding HEADERS/PUSH_PROMISE as a single frame.

NGHTTP2_DATA

The DATA frame.

NGHTTP2_DATA_FLAG_EOF

Indicates EOF was sensed.

NGHTTP2_DATA_FLAG_NONE

No flag set.

NGHTTP2_DATA_FLAG_NO_COPY

Indicates that application will send complete DATA frame in :type:nghttp2_send_data_callback.

NGHTTP2_DATA_FLAG_NO_END_STREAM

Indicates that END_STREAM flag must not be set even if NGHTTP2_DATA_FLAG_EOF is set. Usually this flag is used to send trailer fields with nghttp2_submit_request() or nghttp2_submit_response().

NGHTTP2_ENHANCE_YOUR_CALM

ENHANCE_YOUR_CALM

NGHTTP2_ERR_BAD_CLIENT_MAGIC

Invalid client magic (see :macro:NGHTTP2_CLIENT_MAGIC) was received and further processing is not possible.

NGHTTP2_ERR_BUFFER_ERROR

Out of buffer space.

NGHTTP2_ERR_CALLBACK_FAILURE

The user callback function failed. This is a fatal error.

NGHTTP2_ERR_CANCEL

Indicates that a processing was canceled.

NGHTTP2_ERR_DATA_EXIST

DATA or HEADERS frame for a given stream has been already submitted and has not been fully processed yet. Application should wait for the transmission of the previously submitted frame before submitting another.

NGHTTP2_ERR_DEFERRED

Used as a return value from :func:nghttp2_data_source_read_callback to indicate that data transfer is postponed. See :func:nghttp2_data_source_read_callback for details.

NGHTTP2_ERR_DEFERRED_DATA_EXIST

Another DATA frame has already been deferred.

NGHTTP2_ERR_EOF

The peer performed a shutdown on the connection.

NGHTTP2_ERR_FATAL

The errors < :enum:NGHTTP2_ERR_FATAL mean that the library is under unexpected condition and processing was terminated (e.g., out of memory). If application receives this error code, it must stop using that :type:nghttp2_session object and only allowed operation for that object is deallocate it using nghttp2_session_del().

NGHTTP2_ERR_FLOODED

Possible flooding by peer was detected in this HTTP/2 session. Flooding is measured by how many PING and SETTINGS frames with ACK flag set are queued for transmission. These frames are response for the peer initiated frames, and peer can cause memory exhaustion on server side to send these frames forever and does not read network.

NGHTTP2_ERR_FLOW_CONTROL

Flow control error

NGHTTP2_ERR_FRAME_SIZE_ERROR

The length of the frame is invalid, either too large or too small.

NGHTTP2_ERR_GOAWAY_ALREADY_SENT

GOAWAY has already been sent.

NGHTTP2_ERR_HEADER_COMP

Header block inflate/deflate error.

NGHTTP2_ERR_HTTP_HEADER

Invalid HTTP header field was received and stream is going to be closed.

NGHTTP2_ERR_HTTP_MESSAGING

Violation in HTTP messaging rule.

NGHTTP2_ERR_INSUFF_BUFSIZE

Insufficient buffer size given to function.

NGHTTP2_ERR_INTERNAL

Unexpected internal error, but recovered.

NGHTTP2_ERR_INVALID_ARGUMENT

Invalid argument passed.

NGHTTP2_ERR_INVALID_FRAME

The frame is invalid.

NGHTTP2_ERR_INVALID_HEADER_BLOCK

The received frame contains the invalid header block (e.g., There are duplicate header names; or the header names are not encoded in US-ASCII character set and not lower cased; or the header name is zero-length string; or the header value contains multiple in-sequence NUL bytes).

NGHTTP2_ERR_INVALID_STATE

Indicates that the context is not suitable to perform the requested operation.

NGHTTP2_ERR_INVALID_STREAM_ID

The stream ID is invalid.

NGHTTP2_ERR_INVALID_STREAM_STATE

The state of the stream is not valid (e.g., DATA cannot be sent to the stream if response HEADERS has not been sent).

NGHTTP2_ERR_NOMEM

Out of memory. This is a fatal error.

NGHTTP2_ERR_PAUSE

Callback was paused by the application

NGHTTP2_ERR_PROTO

General protocol error

NGHTTP2_ERR_PUSH_DISABLED

The server push is disabled.

NGHTTP2_ERR_REFUSED_STREAM

Stream was refused.

NGHTTP2_ERR_SESSION_CLOSING

The current session is closing due to a connection error or nghttp2_session_terminate_session() is called.

NGHTTP2_ERR_SETTINGS_EXPECTED

When a local endpoint expects to receive SETTINGS frame, it receives an other type of frame.

NGHTTP2_ERR_START_STREAM_NOT_ALLOWED

Starting new stream is not allowed (e.g., GOAWAY has been sent and/or received).

NGHTTP2_ERR_STREAM_CLOSED

The stream is already closed; or the stream ID is invalid.

NGHTTP2_ERR_STREAM_CLOSING

RST_STREAM has been added to the outbound queue. The stream is in closing state.

NGHTTP2_ERR_STREAM_ID_NOT_AVAILABLE

Stream ID has reached the maximum value. Therefore no stream ID is available.

NGHTTP2_ERR_STREAM_SHUT_WR

The transmission is not allowed for this stream (e.g., a frame with END_STREAM flag set has already sent).

NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE

The user callback function failed due to the temporal error.

NGHTTP2_ERR_TOO_MANY_INFLIGHT_SETTINGS

There are too many in-flight SETTING frame and no more transmission of SETTINGS is allowed.

NGHTTP2_ERR_UNSUPPORTED_VERSION

The specified protocol version is not supported.

NGHTTP2_ERR_WOULDBLOCK

Used as a return value from :type:nghttp2_send_callback, :type:nghttp2_recv_callback and :type:nghttp2_send_data_callback to indicate that the operation would block.

NGHTTP2_FLAG_ACK

The ACK flag.

NGHTTP2_FLAG_END_HEADERS

The END_HEADERS flag.

NGHTTP2_FLAG_END_STREAM

The END_STREAM flag.

NGHTTP2_FLAG_NONE

No flag set.

NGHTTP2_FLAG_PADDED

The PADDED flag.

NGHTTP2_FLAG_PRIORITY

The PRIORITY flag.

NGHTTP2_FLOW_CONTROL_ERROR

FLOW_CONTROL_ERROR

NGHTTP2_FRAME_SIZE_ERROR

FRAME_SIZE_ERROR

NGHTTP2_GOAWAY

The GOAWAY frame.

NGHTTP2_HCAT_HEADERS

The HEADERS frame which does not apply for the above categories, which is analogous to HEADERS in SPDY. If non-final response (e.g., status 1xx) is used, final response HEADERS frame will be categorized here.

NGHTTP2_HCAT_PUSH_RESPONSE

The HEADERS frame is the first headers sent against reserved stream.

NGHTTP2_HCAT_REQUEST

The HEADERS frame is opening new stream, which is analogous to SYN_STREAM in SPDY.

NGHTTP2_HCAT_RESPONSE

The HEADERS frame is the first response headers, which is analogous to SYN_REPLY in SPDY.

NGHTTP2_HD_INFLATE_EMIT

Indicates a header was emitted.

NGHTTP2_HD_INFLATE_FINAL

Indicates all headers were inflated.

NGHTTP2_HD_INFLATE_NONE

No flag set.

NGHTTP2_HEADERS

The HEADERS frame.

NGHTTP2_HTTP_1_1_REQUIRED

HTTP_1_1_REQUIRED

NGHTTP2_INADEQUATE_SECURITY

INADEQUATE_SECURITY

NGHTTP2_INTERNAL_ERROR

INTERNAL_ERROR

NGHTTP2_NO_ERROR

No errors.

NGHTTP2_NV_FLAG_NONE

No flag set.

NGHTTP2_NV_FLAG_NO_COPY_NAME

This flag is set solely by application. If this flag is set, the library does not make a copy of header field name. This could improve performance.

NGHTTP2_NV_FLAG_NO_COPY_VALUE

This flag is set solely by application. If this flag is set, the library does not make a copy of header field value. This could improve performance.

NGHTTP2_NV_FLAG_NO_INDEX

Indicates that this name/value pair must not be indexed ("Literal Header Field never Indexed" representation must be used in HPACK encoding). Other implementation calls this bit as "sensitive".

NGHTTP2_ORIGIN

The ORIGIN frame, which is defined by RFC 8336 <https://tools.ietf.org/html/rfc8336>_.

NGHTTP2_PING

The PING frame.

NGHTTP2_PRIORITY

The PRIORITY frame.

NGHTTP2_PROTOCOL_ERROR

PROTOCOL_ERROR

NGHTTP2_PUSH_PROMISE

The PUSH_PROMISE frame.

NGHTTP2_REFUSED_STREAM

REFUSED_STREAM

NGHTTP2_RST_STREAM

The RST_STREAM frame.

NGHTTP2_SETTINGS

The SETTINGS frame.

NGHTTP2_SETTINGS_ENABLE_PUSH

SETTINGS_ENABLE_PUSH

NGHTTP2_SETTINGS_HEADER_TABLE_SIZE

SETTINGS_HEADER_TABLE_SIZE

NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE

SETTINGS_INITIAL_WINDOW_SIZE

NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS

SETTINGS_MAX_CONCURRENT_STREAMS

NGHTTP2_SETTINGS_MAX_FRAME_SIZE

SETTINGS_MAX_FRAME_SIZE

NGHTTP2_SETTINGS_MAX_HEADER_LIST_SIZE

SETTINGS_MAX_HEADER_LIST_SIZE

NGHTTP2_SETTINGS_TIMEOUT

SETTINGS_TIMEOUT

NGHTTP2_STREAM_CLOSED

STREAM_CLOSED

NGHTTP2_STREAM_STATE_CLOSED

closed state.

NGHTTP2_STREAM_STATE_HALF_CLOSED_LOCAL

half closed (local) state.

NGHTTP2_STREAM_STATE_HALF_CLOSED_REMOTE

half closed (remote) state.

NGHTTP2_STREAM_STATE_IDLE

idle state.

NGHTTP2_STREAM_STATE_OPEN

open state.

NGHTTP2_STREAM_STATE_RESERVED_LOCAL

reserved (local) state.

NGHTTP2_STREAM_STATE_RESERVED_REMOTE

reserved (remote) state.

NGHTTP2_WINDOW_UPDATE

The WINDOW_UPDATE frame.

Functions

nghttp2_check_header_name

@function

nghttp2_check_header_value

@function

nghttp2_hd_deflate_bound

@function

nghttp2_hd_deflate_change_table_size

@function

nghttp2_hd_deflate_del

@function

nghttp2_hd_deflate_get_dynamic_table_size

@function

nghttp2_hd_deflate_get_max_dynamic_table_size

@function

nghttp2_hd_deflate_get_num_table_entries

@function

nghttp2_hd_deflate_get_table_entry

@function

nghttp2_hd_deflate_hd

@function

nghttp2_hd_deflate_hd_vec

@function

nghttp2_hd_deflate_new

@function

nghttp2_hd_deflate_new2

@function

nghttp2_hd_inflate_change_table_size

@function

nghttp2_hd_inflate_del

@function

nghttp2_hd_inflate_end_headers

@function

nghttp2_hd_inflate_get_dynamic_table_size

@function

nghttp2_hd_inflate_get_max_dynamic_table_size

@function

nghttp2_hd_inflate_get_num_table_entries

@function

nghttp2_hd_inflate_get_table_entry

@function

nghttp2_hd_inflate_hd

@function

nghttp2_hd_inflate_hd2

@function

nghttp2_hd_inflate_new

@function

nghttp2_hd_inflate_new2

@function

nghttp2_http2_strerror

@function

nghttp2_is_fatal

@function

nghttp2_nv_compare_name

@function

nghttp2_option_del

@function

nghttp2_option_new

@function

nghttp2_option_set_builtin_recv_extension_type

@function

nghttp2_option_set_max_deflate_dynamic_table_size

@function

nghttp2_option_set_max_reserved_remote_streams

@function

nghttp2_option_set_max_send_header_block_length

@function

nghttp2_option_set_no_auto_ping_ack

@function

nghttp2_option_set_no_auto_window_update

@function

nghttp2_option_set_no_closed_streams

@function

nghttp2_option_set_no_http_messaging

@function

nghttp2_option_set_no_recv_client_magic

@function

nghttp2_option_set_peer_max_concurrent_streams

@function

nghttp2_option_set_user_recv_extension_type

@function

nghttp2_pack_settings_payload

@function

nghttp2_priority_spec_check_default

@function

nghttp2_priority_spec_default_init

@function

nghttp2_priority_spec_init

@function

nghttp2_rcbuf_decref

@function

nghttp2_rcbuf_get_buf

@function

nghttp2_rcbuf_incref

@function

nghttp2_rcbuf_is_static

@function

nghttp2_select_next_protocol

@function

nghttp2_session_callbacks_del

@function

nghttp2_session_callbacks_new

@function

nghttp2_session_callbacks_set_before_frame_send_callback

@function

nghttp2_session_callbacks_set_data_source_read_length_callback

@function

nghttp2_session_callbacks_set_error_callback

@function

nghttp2_session_callbacks_set_error_callback2

@function

nghttp2_session_callbacks_set_on_begin_frame_callback

@function

nghttp2_session_callbacks_set_on_begin_headers_callback

@function

nghttp2_session_callbacks_set_on_data_chunk_recv_callback

@function

nghttp2_session_callbacks_set_on_extension_chunk_recv_callback

@function

nghttp2_session_callbacks_set_on_frame_not_send_callback

@function

nghttp2_session_callbacks_set_on_frame_recv_callback

@function

nghttp2_session_callbacks_set_on_frame_send_callback

@function

nghttp2_session_callbacks_set_on_header_callback

@function

nghttp2_session_callbacks_set_on_header_callback2

@function

nghttp2_session_callbacks_set_on_invalid_frame_recv_callback

@function

nghttp2_session_callbacks_set_on_invalid_header_callback

@function

nghttp2_session_callbacks_set_on_invalid_header_callback2

@function

nghttp2_session_callbacks_set_on_stream_close_callback

@function

nghttp2_session_callbacks_set_pack_extension_callback

@function

nghttp2_session_callbacks_set_recv_callback

@function

nghttp2_session_callbacks_set_select_padding_callback

@function

nghttp2_session_callbacks_set_send_callback

@function

nghttp2_session_callbacks_set_send_data_callback

@function

nghttp2_session_callbacks_set_unpack_extension_callback

@function

nghttp2_session_change_stream_priority

@function

nghttp2_session_check_request_allowed

@function

nghttp2_session_check_server_session

@function

nghttp2_session_client_new

@function

nghttp2_session_client_new2

@function

nghttp2_session_client_new3

@function

nghttp2_session_consume

@function

nghttp2_session_consume_connection

@function

nghttp2_session_consume_stream

@function

nghttp2_session_create_idle_stream

@function

nghttp2_session_del

@function

nghttp2_session_find_stream

@function

nghttp2_session_get_effective_local_window_size

@function

nghttp2_session_get_effective_recv_data_length

@function

nghttp2_session_get_hd_deflate_dynamic_table_size

@function

nghttp2_session_get_hd_inflate_dynamic_table_size

@function

nghttp2_session_get_last_proc_stream_id

@function

nghttp2_session_get_local_settings

@function

nghttp2_session_get_local_window_size

@function

nghttp2_session_get_next_stream_id

@function

nghttp2_session_get_outbound_queue_size

@function

nghttp2_session_get_remote_settings

@function

nghttp2_session_get_remote_window_size

@function

nghttp2_session_get_root_stream

@function

nghttp2_session_get_stream_effective_local_window_size

@function

nghttp2_session_get_stream_effective_recv_data_length

@function

nghttp2_session_get_stream_local_close

@function

nghttp2_session_get_stream_local_window_size

@function

nghttp2_session_get_stream_remote_close

@function

nghttp2_session_get_stream_remote_window_size

@function

nghttp2_session_get_stream_user_data

@function

nghttp2_session_mem_recv

@function

nghttp2_session_mem_send

@function

nghttp2_session_recv

@function

nghttp2_session_resume_data

@function

nghttp2_session_send

@function

nghttp2_session_server_new

@function

nghttp2_session_server_new2

@function

nghttp2_session_server_new3

@function

nghttp2_session_set_local_window_size

@function

nghttp2_session_set_next_stream_id

@function

nghttp2_session_set_stream_user_data

@function

nghttp2_session_set_user_data

@function

nghttp2_session_terminate_session

@function

nghttp2_session_terminate_session2

@function

nghttp2_session_upgrade

@function

nghttp2_session_upgrade2

@function

nghttp2_session_want_read

@function

nghttp2_session_want_write

@function

nghttp2_stream_get_first_child

@function

nghttp2_stream_get_next_sibling

@function

nghttp2_stream_get_parent

@function

nghttp2_stream_get_previous_sibling

@function

nghttp2_stream_get_state

@function

nghttp2_stream_get_stream_id
nghttp2_stream_get_sum_dependency_weight

@function

nghttp2_stream_get_weight

@function

nghttp2_strerror

@function

nghttp2_submit_altsvc

@function

nghttp2_submit_data

@function

nghttp2_submit_extension

@function

nghttp2_submit_goaway

@function

nghttp2_submit_headers

@function

nghttp2_submit_origin

@function

nghttp2_submit_ping

@function

nghttp2_submit_priority

@function

nghttp2_submit_push_promise

@function

nghttp2_submit_request

@function

nghttp2_submit_response

@function

nghttp2_submit_rst_stream

@function

nghttp2_submit_settings

@function

nghttp2_submit_shutdown_notice

@function

nghttp2_submit_trailer

@function

nghttp2_submit_window_update

@function

nghttp2_version

@function

Type Definitions

nghttp2_before_frame_send_callback

@functypedef

nghttp2_calloc

@functypedef

nghttp2_data_flag

@enum

nghttp2_data_source_read_callback

@functypedef

nghttp2_data_source_read_length_callback

@functypedef

nghttp2_error

@enum

nghttp2_error_callback

@functypedef

nghttp2_error_callback2

@functypedef

nghttp2_error_code

@enum The status codes for the RST_STREAM and GOAWAY frames.

nghttp2_flag

@enum

nghttp2_frame_type

@enum

nghttp2_free

@functypedef

nghttp2_hd_inflate_flag

@enum

nghttp2_headers_category

@enum

nghttp2_malloc

@functypedef

nghttp2_nv_flag

@enum

nghttp2_on_begin_frame_callback

@functypedef

nghttp2_on_begin_headers_callback

@functypedef

nghttp2_on_data_chunk_recv_callback

@functypedef

nghttp2_on_extension_chunk_recv_callback

@functypedef

nghttp2_on_frame_not_send_callback

@functypedef

nghttp2_on_frame_recv_callback

@functypedef

nghttp2_on_frame_send_callback

@functypedef

nghttp2_on_header_callback

@functypedef

nghttp2_on_header_callback2

@functypedef

nghttp2_on_invalid_frame_recv_callback

@functypedef

nghttp2_on_invalid_header_callback

@functypedef

nghttp2_on_invalid_header_callback2

@functypedef

nghttp2_on_stream_close_callback

@functypedef

nghttp2_pack_extension_callback

@functypedef

nghttp2_realloc

@functypedef

nghttp2_recv_callback

@functypedef

nghttp2_select_padding_callback

@functypedef

nghttp2_send_callback

@functypedef

nghttp2_send_data_callback

@functypedef

nghttp2_settings_id

@enum The SETTINGS ID.

nghttp2_stream_proto_state

@enum

nghttp2_unpack_extension_callback

@functypedef

Unions

nghttp2_data_source

@union

nghttp2_frame

@union