Common class for channel implementations that associates a channel implementation with its top-level typed PacketChannel.
Public Types | |
| using | Channel = PacketChannel< Packet, kProperties... > |
Public Types inherited from pw::channel::AnyPacketChannel< Packet > | |
| using | Packet = Packet |
Public Member Functions | |
| Channel & | channel () |
| const Channel & | channel () const |
| template<typename Sibling > | |
| Sibling & | as () |
| Returns a reference to this as another compatible packet channel type. | |
| template<typename Sibling > | |
| const Sibling & | as () const |
| template<Property... kOtherProperties> | |
| auto & | as () |
| template<Property... kOtherProperties> | |
| const auto & | as () const |
| async2::PollResult< Packet > | PendRead (async2::Context &cx) |
| void | AcknowledgeWrites (uint16_t num_completed) |
| uint16_t | GetAvailableWrites () const |
| async2::PollResult< PendingWrite< Packet > > | PendReadyToWrite (async2::Context &cx, size_t num=1) |
| async2::Poll | PendWrite (async2::Context &cx) |
| void | SetAvailableWrites (uint16_t available_writes) |
| async2::Poll< Status > | PendClose (async2::Context &cx) |
Public Member Functions inherited from pw::channel::AnyPacketChannel< Packet > | |
| constexpr bool | readable () const |
| Returns whether the channel implementation is readable. | |
| constexpr bool | writable () const |
| Returns whether the channel implementation is writable. | |
| constexpr bool | is_read_open () const |
| constexpr bool | is_write_open () const |
| constexpr bool | is_read_or_write_open () const |
| True if the channel is open for either reading or writing. | |
| async2::PollResult< Packet > | PendRead (async2::Context &cx) |
| async2::PollResult< PendingWrite< Packet > > | PendReadyToWrite (async2::Context &cx, size_t num=1) |
| async2::Poll | PendWrite (async2::Context &cx) |
| void | SetAvailableWrites (uint16_t available_writes) |
| void | AcknowledgeWrites (uint16_t num_completed) |
| async2::Poll< Status > | PendClose (async2::Context &cx) |
Friends | |
| class | PacketChannelImpl< Packet, kProperties... > |
Additional Inherited Members | |
Protected Member Functions inherited from pw::channel::AnyPacketChannel< Packet > | |
| uint16_t | GetAvailableWrites () const |
| void | set_read_closed () |
| void | set_write_closed () |
| void | set_read_write_closed () |
| async2::Waker & | write_waker () |
| Allows implementations to access the write waker. | |
|
inline |
Returns a reference to this channel as another channel with the specified properties, which must be compatible.