35#ifndef _OPENLCB_STREAMTRANSPORT_HXX_
36#define _OPENLCB_STREAMTRANSPORT_HXX_
Base class of everything with a virtual destructor.
Strongly typed queue class with asynchronous access.
Implementation of the OpenLCB interface abstraction for the CAN-bus interface standard.
Abstract class representing an OpenLCB Interface.
CAN-specific implementation of the stream transport interface.
~StreamTransportCan()
Destructor.
Collects the objects needed to support streams on an OpenLCB interface.
~StreamTransport()
Destructor.
uint8_t nextReceiveStreamId_
Stream ID to be given out to the next stream receiver that we create.
static constexpr uint8_t MAX_SEND_STREAM_ID
Largest stream ID we will be using for transmit stream's local IDs.
TypedQAsync< StreamSender > * sender_allocator()
Stream sender flows.
unsigned nextSendStreamId_
Index of the next bit to check in the inUseSendStreamIds_.
TypedQAsync< StreamSender > senders_
Stream Sender objects.
uint8_t get_next_stream_receive_id()
uint8_t get_send_stream_id()
void release_send_stream_id(uint8_t stream_id)
unsigned inUseSendStreamIds_
Bits are 1 if the respective stream ID is in use (for transmit streams).