Lines Matching full:pipe
187 destroyed. A pipe is a *unidirectional* transport for byte streams. Zero-copy
190 The CML (`QUIC_CML`) allows the caller to refer to a pipe by providing an opaque
191 pipe handle (`QUIC_CML_PIPE`). If the pipe is a sending pipe, the caller can use
193 pipe, the caller can use `ossl_cml_read` to try and read bytes from it.
196 of the provided pipe handles is ready. Ready means that at least one byte can be
197 written (for a sending pipe) or at least one byte can be read (for a receiving
198 pipe).
205 The caller retrieves a pipe handle using `ossl_cml_get_pipe`. This function
206 retrieves a pipe based on two values:
208 - a CML pipe class;
211 The CML selector is a tagged union structure which specifies what pipe is to be
221 In other words, the CML selector selects the “object” to retrieve a pipe from.
223 The CML pipe class is one of the following values:
230 The pipe classes available for a given selector vary. For example, the “App
232 such a pipe in conjunction with a different type of selector.
237 For any given CML selector, the Request pipe is used to send serialized commands
239 Conversely, the Notification pipe returns asynchronous notifications. These
247 Pipe handles are stable for as long as the pipe they reference exists, so an APL
248 object can cache a pipe handle if desired.
254 number of bytes which can currently be written to a send-only pipe, or read from
255 a receive-only pipe, respectively.
266 makes calls to CML functions at a given time *for a given pipe*, this therefore
269 Concurrent use of `ossl_cml_write` or `ossl_cml_read` for a given pipe is not
273 **Examples of pipe usage.** The application data pipes are used to serialize the
356 * Retrieves a pipe for a logical CML object described by selector. The pipe
373 * Returns the number of bytes a sending pipe can currently accept. The returned
380 * Appends bytes into a sending pipe by copying them. The buffer can be freed
387 * Returns the number of bytes a receiving pipe currently has waiting to be
394 * Reads bytes from a receiving pipe by copying them.
403 * A pipe is ready if:
405 * - it is a sending pipe and one or more bytes can now be written;
406 * - it is a receiving pipe and one or more bytes can now be read.