Quichex.Native.Nif (quichex v0.3.0)
View SourceInternal Rustler bindings. Prefer Quichex.Native for public usage.
Summary
Types
Functions
@spec config_enable_dgram(config(), boolean(), non_neg_integer(), non_neg_integer()) :: :ok | {:error, reason()}
@spec config_new(non_neg_integer()) :: {:ok, config()} | {:error, reason()}
@spec config_set_ack_delay_exponent(config(), non_neg_integer()) :: :ok | {:error, reason()}
@spec config_set_active_connection_id_limit(config(), non_neg_integer()) :: :ok | {:error, reason()}
@spec config_set_application_protos(config(), [quic_binary()]) :: :ok | {:error, reason()}
@spec config_set_initial_congestion_window_packets(config(), non_neg_integer()) :: :ok | {:error, reason()}
@spec config_set_initial_max_data(config(), non_neg_integer()) :: :ok | {:error, reason()}
@spec config_set_initial_max_stream_data_bidi_local(config(), non_neg_integer()) :: :ok | {:error, reason()}
@spec config_set_initial_max_stream_data_bidi_remote(config(), non_neg_integer()) :: :ok | {:error, reason()}
@spec config_set_initial_max_stream_data_uni(config(), non_neg_integer()) :: :ok | {:error, reason()}
@spec config_set_initial_max_streams_bidi(config(), non_neg_integer()) :: :ok | {:error, reason()}
@spec config_set_initial_max_streams_uni(config(), non_neg_integer()) :: :ok | {:error, reason()}
@spec config_set_max_ack_delay(config(), non_neg_integer()) :: :ok | {:error, reason()}
@spec config_set_max_amplification_factor(config(), non_neg_integer()) :: :ok | {:error, reason()}
@spec config_set_max_connection_window(config(), non_neg_integer()) :: :ok | {:error, reason()}
@spec config_set_max_datagram_frame_size(config(), non_neg_integer()) :: :ok | {:error, reason()}
@spec config_set_max_idle_timeout(config(), non_neg_integer()) :: :ok | {:error, reason()}
@spec config_set_max_pacing_rate(config(), non_neg_integer()) :: :ok | {:error, reason()}
@spec config_set_max_recv_udp_payload_size(config(), non_neg_integer()) :: :ok | {:error, reason()}
@spec config_set_max_send_udp_payload_size(config(), non_neg_integer()) :: :ok | {:error, reason()}
@spec config_set_max_stream_window(config(), non_neg_integer()) :: :ok | {:error, reason()}
@spec config_set_stateless_reset_token(config(), quic_binary()) :: :ok | {:error, reason()}
@spec config_set_ticket_key(config(), quic_binary()) :: :ok | {:error, reason()}
@spec connection_application_proto(connection()) :: {:ok, quic_binary()} | {:error, reason()}
@spec connection_close(connection(), boolean(), non_neg_integer(), quic_binary()) :: :ok | {:error, reason()}
@spec connection_destination_id(connection()) :: {:ok, quic_binary()} | {:error, reason()}
@spec connection_dgram_max_writable_len(connection()) :: {:ok, non_neg_integer()} | {:error, reason()}
@spec connection_dgram_recv(connection(), non_neg_integer()) :: {:ok, quic_binary()} | {:error, reason()}
@spec connection_dgram_recv_queue_byte_size(connection()) :: {:ok, non_neg_integer()} | {:error, reason()}
@spec connection_dgram_recv_queue_len(connection()) :: {:ok, non_neg_integer()} | {:error, reason()}
@spec connection_dgram_send(connection(), quic_binary()) :: {:ok, non_neg_integer()} | {:error, reason()}
@spec connection_dgram_send_queue_byte_size(connection()) :: {:ok, non_neg_integer()} | {:error, reason()}
@spec connection_dgram_send_queue_len(connection()) :: {:ok, non_neg_integer()} | {:error, reason()}
@spec connection_is_closed(connection()) :: {:ok, boolean()} | {:error, reason()}
@spec connection_is_draining(connection()) :: {:ok, boolean()} | {:error, reason()}
@spec connection_is_established(connection()) :: {:ok, boolean()} | {:error, reason()}
@spec connection_is_in_early_data(connection()) :: {:ok, boolean()} | {:error, reason()}
@spec connection_is_resumed(connection()) :: {:ok, boolean()} | {:error, reason()}
@spec connection_is_server(connection()) :: {:ok, boolean()} | {:error, reason()}
@spec connection_is_timed_out(connection()) :: {:ok, boolean()} | {:error, reason()}
@spec connection_local_error(connection()) :: {:ok, Quichex.Native.ConnectionError.t() | nil} | {:error, reason()}
@spec connection_new_client( quic_binary(), String.t() | nil, quic_binary(), quic_binary(), config(), non_neg_integer() ) :: {:ok, connection()} | {:error, reason()}
@spec connection_new_server( quic_binary(), quic_binary() | nil, quic_binary(), quic_binary(), config(), non_neg_integer() ) :: {:ok, connection()} | {:error, reason()}
@spec connection_on_timeout(connection()) :: :ok | {:error, reason()}
@spec connection_peer_cert(connection()) :: {:ok, quic_binary() | nil} | {:error, reason()}
@spec connection_peer_error(connection()) :: {:ok, Quichex.Native.ConnectionError.t() | nil} | {:error, reason()}
@spec connection_peer_transport_params(connection()) :: {:ok, Quichex.Native.TransportParams.t() | nil} | {:error, reason()}
@spec connection_readable_streams(connection()) :: {:ok, [stream_id()]} | {:error, reason()}
@spec connection_recv(connection(), quic_binary(), map()) :: {:ok, non_neg_integer()} | {:error, reason()}
@spec connection_send(connection()) :: {:ok, {quic_binary(), map()}} | {:error, reason()}
@spec connection_server_name(connection()) :: {:ok, String.t() | nil} | {:error, reason()}
@spec connection_session(connection()) :: {:ok, quic_binary() | nil} | {:error, reason()}
@spec connection_set_keylog_path(connection(), String.t()) :: :ok | {:error, reason()}
@spec connection_set_session(connection(), quic_binary()) :: :ok | {:error, reason()}
@spec connection_source_id(connection()) :: {:ok, quic_binary()} | {:error, reason()}
@spec connection_stats(connection()) :: {:ok, Quichex.Native.ConnectionStats.t()} | {:error, reason()}
@spec connection_stream_finished(connection(), stream_id()) :: {:ok, boolean()} | {:error, reason()}
@spec connection_stream_recv(connection(), stream_id(), non_neg_integer()) :: {:ok, {quic_binary(), boolean()}} | {:error, reason()}
@spec connection_stream_send(connection(), stream_id(), quic_binary(), boolean()) :: {:ok, non_neg_integer()} | {:error, reason()}
@spec connection_stream_shutdown( connection(), stream_id(), String.t(), non_neg_integer() ) :: :ok | {:error, reason()}
@spec connection_timeout(connection()) :: {:ok, non_neg_integer()} | {:error, reason()}
@spec connection_trace_id(connection()) :: {:ok, String.t()} | {:error, reason()}
@spec connection_writable_streams(connection()) :: {:ok, [stream_id()]} | {:error, reason()}
@spec h3_config_set_additional_settings(h3_config(), [ {non_neg_integer(), non_neg_integer()} ]) :: :ok | {:error, reason()}
@spec h3_config_set_max_field_section_size(h3_config(), non_neg_integer()) :: :ok | {:error, reason()}
@spec h3_config_set_qpack_blocked_streams(h3_config(), non_neg_integer()) :: :ok | {:error, reason()}
@spec h3_config_set_qpack_max_table_capacity(h3_config(), non_neg_integer()) :: :ok | {:error, reason()}
@spec h3_conn_new_with_transport(connection(), h3_config()) :: {:ok, h3_connection()} | {:error, reason()}
@spec h3_conn_poll(connection(), h3_connection()) :: {:ok, {stream_id(), term()}} | {:error, reason()}
@spec h3_dgram_enabled_by_peer(connection(), h3_connection()) :: {:ok, boolean()} | {:error, reason()}
@spec h3_extended_connect_enabled_by_peer(h3_connection()) :: {:ok, boolean()} | {:error, reason()}
@spec h3_recv_body(connection(), h3_connection(), stream_id(), non_neg_integer()) :: {:ok, quic_binary()} | {:error, reason()}
@spec h3_send_body( connection(), h3_connection(), stream_id(), quic_binary(), boolean() ) :: :ok | {:error, reason()}
@spec h3_send_goaway(connection(), h3_connection(), stream_id()) :: :ok | {:error, reason()}
@spec h3_send_request( connection(), h3_connection(), [{quic_binary(), quic_binary()}], boolean() ) :: {:ok, stream_id()} | {:error, reason()}
@spec h3_send_response( connection(), h3_connection(), stream_id(), [{quic_binary(), quic_binary()}], boolean() ) :: :ok | {:error, reason()}
@spec header_info(quic_binary(), non_neg_integer()) :: {:ok, Quichex.Native.PacketHeader.t()} | {:error, reason()}
@spec retry( quic_binary(), quic_binary(), quic_binary(), quic_binary(), non_neg_integer() ) :: {:ok, quic_binary()} | {:error, reason()}
@spec version_negotiate(quic_binary(), quic_binary()) :: {:ok, quic_binary()} | {:error, reason()}