Collects the objects needed to support streams on an OpenLCB interface.
More...
#include <StreamTransport.hxx>
|
| unsigned | inUseSendStreamIds_: 27 |
| | Bits are 1 if the respective stream ID is in use (for transmit streams).
|
| |
| unsigned | nextSendStreamId_: 5 |
| | Index of the next bit to check in the inUseSendStreamIds_.
|
| |
|
| static constexpr uint8_t | MAX_SEND_STREAM_ID = 26 |
| | Largest stream ID we will be using for transmit stream's local IDs.
|
| |
Collects the objects needed to support streams on an OpenLCB interface.
Definition at line 51 of file StreamTransport.hxx.
◆ StreamTransport()
| openlcb::StreamTransport::StreamTransport |
( |
If * |
iface | ) |
|
Constructor.
- Parameters
-
| iface | OpenLCB interface object. |
Definition at line 42 of file StreamTransport.cxx.
◆ ~StreamTransport()
| openlcb::StreamTransport::~StreamTransport |
( |
| ) |
|
◆ get_next_stream_receive_id()
| uint8_t openlcb::StreamTransport::get_next_stream_receive_id |
( |
| ) |
|
|
inline |
- Returns
- the next (unused) stream receive ID (i.e., stream DID for streams that are targeting this node/interface). This should only be used for constructors, one time per lifetime of an application.
Definition at line 103 of file StreamTransport.hxx.
◆ get_send_stream_id()
| uint8_t openlcb::StreamTransport::get_send_stream_id |
( |
| ) |
|
|
inline |
- Returns
- an unused transmit stream source ID. If all transmit stream source IDs are in use, then returns 0xFF (which is an invalid stream ID).
Definition at line 65 of file StreamTransport.hxx.
◆ release_send_stream_id()
| void openlcb::StreamTransport::release_send_stream_id |
( |
uint8_t |
stream_id | ) |
|
|
inline |
◆ sender_allocator()
Stream sender flows.
These flows implement transmitting streams to a rmeote destination node. When the flow is complete, the caller must return it to this allocator.
Definition at line 95 of file StreamTransport.hxx.
◆ inUseSendStreamIds_
| unsigned openlcb::StreamTransport::inUseSendStreamIds_ |
|
private |
Bits are 1 if the respective stream ID is in use (for transmit streams).
Definition at line 117 of file StreamTransport.hxx.
◆ MAX_SEND_STREAM_ID
| constexpr uint8_t openlcb::StreamTransport::MAX_SEND_STREAM_ID = 26 |
|
staticconstexprprivate |
Largest stream ID we will be using for transmit stream's local IDs.
Definition at line 114 of file StreamTransport.hxx.
◆ nextReceiveStreamId_
| uint8_t openlcb::StreamTransport::nextReceiveStreamId_ {0x50} |
|
protected |
◆ nextSendStreamId_
| unsigned openlcb::StreamTransport::nextSendStreamId_ |
|
private |
Index of the next bit to check in the inUseSendStreamIds_.
Definition at line 119 of file StreamTransport.hxx.
◆ senders_
The documentation for this class was generated from the following files: