Quic.IO.Endpoint (elixir_quic v0.16.7)

Copy Markdown View Source

Pure bounded endpoint state for QUIC external IO.

The first UDP adapter binds a concrete local address. Wildcard and ancillary destination/interface metadata are intentionally unsupported. enqueue/4 is admission only; local_send/4 reports the later local writer result. Peer ACKs belong to Quic.Recovery, never this IO budget.

Summary

Types

send_ref()

@type send_ref() :: reference()

t()

@type t() :: %Quic.IO.Endpoint{
  address_validated: term(),
  bytes_pending: term(),
  bytes_received: term(),
  bytes_sent: term(),
  closed: term(),
  generation: term(),
  handshake_deadline: term(),
  idle_deadline: term(),
  in_flight: term(),
  max_queue: term(),
  max_queue_bytes: term(),
  queue: term(),
  queue_bytes: term(),
  timers: term()
}

Functions

bump_generation(state)

dequeue(state)

enqueue(state, bytes, remote, now)

local_send(state, send, result, at)

new(opts \\ [])

receive_bytes(state, bytes)

shutdown(state)

timer(state, kind, deadline)

timer_expired?(state, timer, now)

validate_address(state)