Lines Matching +full:common +full:- +full:mode +full:- +full:channel

2  * Copyright 2022-2025 The OpenSSL Project Authors. All Rights Reserved.
25 * QUIC Channel
28 * A QUIC channel (QUIC_CHANNEL) is an object which binds together all of the
29 * various pieces of QUIC into a single top-level object, and handles connection
37 * layer and common code for handling connections, and between the functionality
39 * functionality which is common to both.
42 * consume a QUIC channel and implement a specific public API. Things which are
44 * handling of SSL object mode flags like non-partial write mode, etc.
47 * per connection. In the future a QUIC Channel Manager will probably be defined
49 * demuxers). Since we only use server-side functionality for dummy test servers
54 * ---------------
56 * To support thread assisted mode, QUIC_CHANNEL can be used by multiple
59 * while the channel mutex is held**, except for methods explicitly marked as
62 * The instantiator of the channel is responsible for providing a suitable
63 * mutex which then serves as the channel mutex; see QUIC_CHANNEL_ARGS.
67 * The function does not acquire the channel mutex and assumes it is already
72 * Precondition: must hold channel mutex (unchecked)
77 * The function acquires the channel mutex and releases it before returning in
83 * Precondition: must not hold channel mutex (unchecked)
84 * Postcondition: channel mutex is not held (by calling thread)
89 * The function acquires the channel mutex and leaves it acquired
95 * Precondition: must not hold channel mutex (unchecked)
96 * Postcondition: channel mutex is held by calling thread
111 * The QUIC_PORT which the channel is to belong to. The lifetime of the
112 * QUIC_PORT must exceed that of the created channel.
151 * QUIC_CHANNEL for the remainder of the lifetime of the channel object.
152 * Thus the string pointed to by this value, if non-NULL, is valid for the
158 * Length of reason in bytes. The reason is supposed to contain a UTF-8
176 * Create a new QUIC channel using the given arguments. The argument structure
186 /* No-op if ch is NULL. */
199 * Various events that can be raised on the channel by other parts of the QUIC
207 * To be used by a QUIC connection. Starts the channel. For a client-mode
208 * channel, this starts sending the first handshake layer message, etc. Can only
218 * @brief schedules a NEW_TOKEN frame for sending on the channel
231 * for handling of all peer-triggered protocol violations or errors detected by
232 * us. We specify a QUIC transport-scope error code and optional frame type
236 * protocol error, this is a no-op; first error wins.
310 /* Gets the reactor which can be used to tick/poll on the channel. */
313 /* Gets the QSM used with the channel. */
316 /* Gets the statistics manager used with the channel. */
319 /* Gets the TLS handshake layer used with the channel. */
327 * starting a channel in client mode.
339 /* Returns 1 if channel is terminating or terminated. */
356 * Retrieves a pointer to the channel mutex which was provided at the time the
357 * channel was instantiated. In order to allow locks to be acquired and released
364 * function to access the mutex which was passed to the channel at instantiation
365 * time; it does not belong to the channel but rather is presumed to belong to
366 * the owner of the channel.
371 * Creates a new locally-initiated stream in the stream mapper, choosing an
378 * Creates a new remotely-initiated stream in the stream mapper. The stream ID
387 * Configures incoming stream auto-reject. If enabled, incoming streams have
397 * Causes the channel to reject the sending and receiving parts of a stream,
414 /* Testing use only - sets a TXKU threshold packet count override value. */
418 /* Testing use only - gets current 1-RTT key epochs for QTX and QRX. */
426 /* Force transmission of an ACK-eliciting packet. */
431 * Do not rely on them for non-testing purposes.
442 * locally-initiated stream.