C/C++ API Reference
Loading...
Searching...
No Matches
pw::channel::StreamChannel Class Referencefinal

Overview

A channel which delegates to an underlying reader and writer stream.

NOTE: this channel as well as its reader and writer must all continue to exist for the duration of the program, as they are referenced by other threads.

This unfortunate requirement is due to the fact that Stream::Read and Stream::Write are blocking. The stream reading and writing threaads may be blocked on Read or Write calls, and therefore cannot cleanly be shutdown.

Inheritance diagram for pw::channel::StreamChannel:
pw::channel::Implement< channel::ByteReaderWriter >

Public Member Functions

 StreamChannel (stream::Reader &reader, const thread::Options &read_thread_options, multibuf::MultiBufAllocator &read_allocator, stream::Writer &writer, const thread::Options &write_thread_option, multibuf::MultiBufAllocator &write_allocator)
 
 StreamChannel (multibuf::MultiBufAllocator &allocator, stream::Reader &reader, const thread::Options &read_thread_options, stream::Writer &writer, const thread::Options &write_thread_options)
 
 StreamChannel (const StreamChannel &)=delete
 
StreamChanneloperator= (const StreamChannel &)=delete
 
 StreamChannel (StreamChannel &&)=delete
 
StreamChanneloperator= (StreamChannel &&)=delete
 

Friends

class pw::NoDestructor< StreamChannel >
 

The documentation for this class was generated from the following file: