Lines Matching +full:stream +full:- +full:id +full:- +full:range

2 * Copyright 2022-2023 The OpenSSL Project Authors. All Rights Reserved.
51 # define OSSL_QUIC_FRAME_TYPE_STREAM 0x08 /* base ID */
134 * Represents an inclusive range of packet numbers [start, end].
150 * being acknowledged and ack_ranges[num_ack_ranges-1].start is
167 /* QUIC Frame: STREAM */
169 uint64_t stream_id; /* Stream ID */
170 uint64_t offset; /* Logical offset in stream */
185 /* 1 if this is the end of the stream */
191 uint64_t offset; /* Logical offset in stream */
220 uint64_t error_code; /* 62-bit transport or app error code */
222 char *reason; /* UTF-8 string, not necessarily zero-terminated */
253 * encoding is slightly different and stores the first range in the list
257 * which the ack->ack_delay field is be divided. This exponent value must match
281 * To create a well-formed frame, the data written using this function must be
282 * immediately followed by f->len bytes of data.
297 * This function returns a pointer to a buffer of f->len bytes which the caller
298 * should fill however it wishes. If f->data is non-NULL, it is automatically
313 * Encodes a QUIC STREAM frame's header to the packet writer. The f->stream_id,
314 * f->offset and f->len fields are the values for the respective Stream ID,
317 * If f->is_fin is non-zero, the frame is marked as the final frame in the
318 * stream.
320 * If f->has_explicit_len is zerro, the frame is assumed to be the final frame
324 * To create a well-formed frame, the data written using this function must be
325 * immediately followed by f->len bytes of stream data.
332 * STREAM frame header. Does not include the payload bytes in the count.
339 * allocates space for f->len bytes of data after the header, creating a
340 * well-formed QUIC STREAM frame in one call.
343 * which the caller can fill however it wishes. If f->data is non-NULL,
430 * reason field is non-NULL, it must point to a valid UTF-8 string and
444 * Encodes a QUIC transport parameter TLV with the given ID into the WPACKET.
447 * If value is non-NULL, the value is copied into the packet.
454 uint64_t id,
459 * Encodes a QUIC transport parameter TLV with the given ID into the WPACKET.
460 * The payload is a QUIC variable-length integer with the given value.
463 uint64_t id,
467 * Encodes a QUIC transport parameter TLV with a given ID into the WPACKET.
468 * The payload is a QUIC connection ID.
471 uint64_t id,
481 * - A frame decode function is called but the frame in the PACKET's buffer
484 * - A variable-length field in the encoded frame appears to exceed the bounds
533 * num_ack_ranges, as many ACK ranges as possible are decoded into the range
565 * f->data is set to point inside the packet buffer inside the PACKET, therefore
567 * set to 1 then reading the PACKET stops after the frame header and f->data is
582 * Decodes a QUIC STREAM frame.
585 * and f->data is set to NULL. In this case f->len will also be 0 in the event
588 * If the frame did not contain an offset field, f->offset is set to 0, as the
591 * If the frame contained a length field, f->has_explicit_len is set to 1 and
592 * the length of the data is placed in f->len. This function ensures that the
593 * length does not exceed the packet buffer, thus it is safe to access f->data.
596 * until the end of the packet. This function sets f->has_explicit_len to zero,
597 * and f->len to the amount of data remaining in the input buffer. Therefore,
601 * Note also that this means f->len is always valid after this function returns
602 * successfully, regardless of the value of f->has_explicit_len.
604 * f->data points inside the packet buffer inside the PACKET, therefore it is
607 * f->is_fin is set according to whether the frame was marked as ending the
608 * stream.
621 * Decodes a QUIC MAX_STREAM_DATA frame. The Stream ID is written to *stream_id
622 * and Maximum Stream Data field is written to *max_stream_data.
646 * Decodes a QUIC STREAM_DATA_BLOCKED frame. The Stream ID and Maximum Stream
669 * The conn_id field is set to point to the connection ID string inside the
671 * valid. The conn_id_len field is set to the length of the connection ID string
700 * The reason field is set to point to the UTF-8 reason string inside
705 * IMPORTANT: The reason string is not zero-terminated.
730 * Peeks at the ID of the next QUIC transport parameter TLV in the stream.
731 * The ID is written to *id.
733 int ossl_quic_wire_peek_transport_param(PACKET *pkt, uint64_t *id);
740 * The transport parameter ID is written to *id (if non-NULL) and the length of
746 uint64_t *id,
750 * Decodes a QUIC transport parameter TLV containing a variable-length integer.
752 * The transport parameter ID is written to *id (if non-NULL) and the value is
756 uint64_t *id,
760 * Decodes a QUIC transport parameter TLV containing a connection ID.
762 * The transport parameter ID is written to *id (if non-NULL) and the value is
766 uint64_t *id,