HTTP.HTTP2.Connection (http_core v0.16.7)

Copy Markdown View Source

Pure HTTP/2 connection state and protocol effects.

Summary

Types

t()

@type t() :: %HTTP.HTTP2.Connection{
  committed: term(),
  connection_receive_window: term(),
  connection_send_window: term(),
  connection_unacknowledged: term(),
  decoder: term(),
  encoder: term(),
  encoder_options: term(),
  goaway_last_stream_id: term(),
  header_block: term(),
  local: term(),
  max_streams: term(),
  next_stream_id: term(),
  peer: term(),
  pending_headers: term(),
  priorities: term(),
  promised: term(),
  state: term(),
  streams: term()
}

Functions

accept_new_stream?(arg1)

acknowledge_data(c, id, bytes)

Restores receive credit after wire bytes have been consumed or safely buffered.

acknowledge_settings(c)

cancel_headers(c, id)

commit_headers(c, id, headers, opts \\ [])

Commits a complete header block as one non-interleavable effect batch.

goaway(c, last_id)

handle_priority(c, id, dependency, weight, exclusive \\ false)

new(opts \\ [])

open_stream(c, opts \\ [])

priority_update(c, frame_stream_id, target_stream_id, value)

put_stream(c, s)

receive_data(c, id, bytes, end_stream? \\ false)

Consumes inbound DATA wire credit without replenishing it.

receive_goaway(c, last_id)

reject_push(c, arg2, promised_id, block)

remove_stream(c, id)

send_data(c, id, data, end_stream? \\ false)

Consumes connection and stream send credit and returns one DATA effect.

send_data_prefix(c, id, data, end_stream?, quantum)

Sends at most the currently eligible DATA prefix and returns the remainder.

stream(c, id)

update_local_settings(c, entries)

update_peer_settings(c, entries)

update_receive_window(c, id, increment)

update_send_window(c, id, increment)