ascii-chat
Binary v0.15.83-53-gb711d8720
Library lib/v0.3.2-701-gb711d8720
Video chat in your terminal
Loading...
Searching...
No Matches
lib/network/quic/stream.h
Go to the documentation of this file.
1#pragma once
2
5
6/* A stream starts with ACQS, wire version 1, a traffic class, and two zero
7 * reserved bytes. It then carries complete ACIP packets in their existing
8 * header+payload framing. The connection owns one stream per class and
9 * direction; accepting duplicate classes is the endpoint's responsibility.
10 * Plaintext types must match the stream class. Encrypted packet types must be
11 * checked against that class after decryption by the application transport.
12 */
13#define ACIP_QUIC_STREAM_PREAMBLE_SIZE 8
14
15typedef asciichat_error_t (*quic_stream_emit_fn)(acip_traffic_class_t traffic_class, const void *packet, size_t size,
16 void *context);
17
31
36asciichat_error_t quic_stream_read(quic_stream_reader_t *reader, const void *bytes, size_t length,
37 quic_stream_emit_fn emit, void *context);
unsigned char uint8_t
Definition common.h:60
asciichat_error_t
Error and exit codes - unified status values (0-255).
Definition error_codes.h:44
asciichat_error_t(* quic_stream_emit_fn)(acip_traffic_class_t traffic_class, const void *packet, size_t size, void *context)
asciichat_error_t quic_stream_read(quic_stream_reader_t *reader, const void *bytes, size_t length, quic_stream_emit_fn emit, void *context)
asciichat_error_t quic_stream_preamble(acip_traffic_class_t traffic_class, uint8_t output[8])
asciichat_error_t quic_stream_finish(quic_stream_reader_t *reader)
void quic_stream_reset(quic_stream_reader_t *reader)
#define ACIP_QUIC_STREAM_PREAMBLE_SIZE
When code needs to work with packet decoder, it keeps header_used, packet, used, size here instead of...
acip_traffic_class_t traffic_class
acip_traffic_class_t
Definition traffic.h:5