Lines Matching full:stream

27  * QUIC Send Stream
30 * The QUIC Send Stream Manager (QUIC_SSTREAM) is responsible for:
32 * - accepting octet strings of stream data;
34 * - generating corresponding STREAM frames;
36 * - receiving notifications of lost frames, in order to generate new STREAM
40 * reuse memory used to store acknowledged stream data;
42 * - informing the caller of how much more stream data it can accept into
44 * data which can be written to a stream is not infinite and to allow the
47 * The QUIC_SSTREAM is instantiated once for every stream with a send component
48 * (i.e., for a unidirectional send stream or for the send component of a
49 * bidirectional stream).
53 * stream abstraction. Applications send; we transmit.
58 * the stream data buffer in bytes, which must be positive.
63 * Frees a QUIC_SSTREAM and associated stream data storage.
71 * (For TX packetizer use.) Retrieves information about application stream data
74 * *hdr is filled with the logical offset, maximum possible length of stream
75 * data which can be transmitted, and a pointer to the stream data to be
77 * of the stream and 0 otherwise. hdr->stream_id is not set; the caller must set
92 * The stream data may be split across up to two IOVs due to internal ring
95 * hdr->len of stream data, it must adjust the IOVs accordingly. This may be
108 * stream-level flow control, connection-level flow control, or the applicable
115 * available stream frames and batch their calls to ossl_quic_sstream_mark_transmitted at
120 * example, when a stream is closed after all existing data has been sent, and
124 * Returns 1 on success and 0 if there is no stream data available for
141 * Returns the current size of the stream; i.e., the number of bytes which have
142 * been appended to the stream so far.
147 * (For TX packetizer use.) Marks a logical range of the send stream as having
150 * 0 denotes the first byte ever sent on the stream. The start and end values
155 * If the STREAM frame sent had the FIN bit set, you must also call
158 * If you sent a zero-length STREAM frame with the FIN bit set, you need only
168 * (For TX packetizer use.) Marks a STREAM frame with the FIN bit set as having
169 * been transmitted. final_size is the final size of the stream (i.e., the value
170 * offset + len of the transmitted STREAM frame).
180 * (RX/ACKM use.) Marks a logical range of the send stream as having been lost.
181 * The send stream will return the lost data for retransmission on a future call
195 * (RX/ACKM use.) Informs the QUIC_SSTREAM that a STREAM frame with the FIN bit
203 * (RX/ACKM use.) Marks a logical range of the send stream as having been
205 * stream can be now recycled and neither that logical range of the stream nor
219 * (RX/ACKM use.) Informs the QUIC_SSTREAM that a STREAM frame with the FIN bit
227 * (Front end use.) Appends user data to the stream. The data is copied into the
228 * stream. The amount of data consumed from buf is written to *consumed on
245 * Marks a stream as finished. ossl_quic_sstream_append() may not be called anymore
251 * If the stream has had ossl_quic_sstream_fin() called, returns 1 and writes
263 * Resizes the internal ring buffer. All stream data is preserved safely.
266 * the ring buffer below the amount of stream data currently stored in it.
304 * QUIC Receive Stream Manager
307 * The QUIC Receive Stream Manager (QUIC_RSTREAM) is responsible for
308 * storing the received stream data frames until the application
311 * The QUIC_RSTREAM is instantiated once for every stream that can receive data.
312 * (i.e., for a unidirectional receiving stream or for the receiving component
313 * of a bidirectional stream).
319 * If they are non-NULL, the `rxfc` is called when receive stream data
333 * Adds received stream frame data to `qrs`. The `pkt_wrap` refcount is
337 * The `offset` is the absolute offset of the data in the stream.
338 * `data_len` can be 0 - can be useful for indicating `fin` for empty stream.
339 * Or to indicate `fin` without any further data added to the stream.
348 * Copies the data from the stream storage to buffer `buf` of size `size`.
350 * `fin` is set to 1 if all the data from the stream were read so the
351 * stream is finished. It is set to 0 otherwise.
357 * Peeks at the data in the stream storage. It copies them to buffer `buf`
359 * `fin` is set to 1 if the copied data reach end of the stream.
367 * after reading all the available data the stream will be finished,
373 * Sets *record to the beginning of the first readable stream data chunk and
375 * chunk is the last of the stream data chunks.
379 * after end of the stream - in that case *fin will be set to 1 and
395 * stream data.