# Quickstart URL: /docs/get-started/quickstart/ Section: get-started -------------------------------------------------------------------------------- Parse a QUIC header from zoomies.encoding import Buffer from zoomies.packet import pull_quic_header buf = Buffer(data=raw_bytes) header = pull_quic_header(buf, host_cid_length=None) print(f"Version: {header.version:#x}, CID: {header.destination_cid}") QPACK encode/decode from zoomies.h3 import Header, decode_headers, encode_headers headers = [ Header(name=":method", value="GET"), Header(name=":path", value="/api/users"), Header(name=":scheme", value="https"), ] encoded = encode_headers(headers) decoded = decode_headers(encoded) Sans-I/O connection Zoomies never touches sockets. You feed datagrams in, get events and outbound datagrams out. from zoomies.core import QuicConnection, QuicConfiguration from zoomies.events import HandshakeComplete config = QuicConfiguration(certificate=cert, private_key=key) conn = QuicConnection(config) # Feed a received UDP datagram events = conn.datagram_received(datagram, addr) for event in events: if isinstance(event, HandshakeComplete): print("Handshake done!") # Get datagrams to send for dg in conn.send_datagrams(): sock.sendto(dg, addr) Next steps Concepts: Sans-I/O pattern — understand the design Concepts: Connection lifecycle — handshake through close Reference: Events — all event types -------------------------------------------------------------------------------- Metadata: - Author: lbliii - Word Count: 131 - Reading Time: 1 minutes