|
Open Model Railroad Network (OpenMRN)
|
Public Member Functions | |
| LocalIf (int local_nodes_count, NodeID gateway_node_id) | |
| void | add_owned_flow (Executable *e) override |
| Transfers ownership of a module to the interface. | |
| void | delete_local_node (Node *node) override |
| Removes a local node from this interface. | |
| bool | matching_node (NodeHandle expected, NodeHandle actual) override |
| NodeID | get_default_node_id () override |
Public Member Functions inherited from openlcb::If | |
| If (ExecutorBase *executor, int local_nodes_count) | |
| Constructs an NMRAnet interface. | |
| virtual | ~If () |
| Destructor. | |
| MessageHandler * | global_message_write_flow () |
| MessageHandler * | addressed_message_write_flow () |
| MessageDispatchFlow * | dispatcher () |
| void | add_local_node (Node *node) |
| Registers a new local node on this interface. | |
| Node * | lookup_local_node (NodeID id) |
| Looks up a node ID in the local nodes' registry. | |
| virtual Node * | lookup_local_node_handle (NodeHandle handle) |
| Looks up a node ID in the local nodes' registry. | |
| Node * | first_local_node () |
| Node * | next_local_node (NodeID previous) |
| Iterator helper on the local nodes map. | |
| virtual void | canonicalize_handle (NodeHandle *h) |
| Canonicalizes the node handle: fills in id and/or alias from the maps the interface holds internally. | |
| void | set_tx_hook (std::function< void()> hook) |
| Sets a transmit hook. | |
| StreamTransport * | stream_transport () |
| void | set_stream_transport (StreamTransport *s) |
| Adds the necessary object for this interface to support stream transport. | |
Public Member Functions inherited from Service | |
| Service (ExecutorBase *e) | |
| Constructor. | |
| ~Service () | |
| Destructor. | |
| ExecutorBase * | executor () |
Private Attributes | |
| std::vector< std::unique_ptr< Destructable > > | ownedFlows_ |
| NodeID | gatewayNodeID_ |
Additional Inherited Members | |
Public Types inherited from openlcb::If | |
| typedef DispatchFlow< Buffer< GenMessage >, 4 > | MessageDispatchFlow |
| Type of the dispatcher of incoming NMRAnet messages. | |
Protected Member Functions inherited from openlcb::If | |
| void | remove_local_node_from_map (Node *node) |
Protected Attributes inherited from openlcb::If | |
| MessageHandler * | globalWriteFlow_ |
| Allocator containing the global write flows. | |
| MessageHandler * | addressedWriteFlow_ |
| Allocator containing the addressed write flows. | |
Definition at line 319 of file async_if_test_helper.hxx.
|
inline |
Definition at line 322 of file async_if_test_helper.hxx.
|
inlineoverridevirtual |
Transfers ownership of a module to the interface.
It will be brought down in the destructor. The destruction order is guaranteed such that all supporting structures are still available when the flow is destryed, but incoming messages can not come in anymore.
Implements openlcb::If.
Definition at line 328 of file async_if_test_helper.hxx.
|
inlineoverridevirtual |
Removes a local node from this interface.
This function must be called from the interface's executor.
| node | is the node to delete. The node will not be freed, just removed from the data structures. |
Implements openlcb::If.
Definition at line 333 of file async_if_test_helper.hxx.
|
inlineoverridevirtual |
Implements openlcb::If.
Definition at line 350 of file async_if_test_helper.hxx.
|
inlineoverridevirtual |
Implements openlcb::If.
Definition at line 338 of file async_if_test_helper.hxx.
|
private |
Definition at line 357 of file async_if_test_helper.hxx.
|
private |
Definition at line 356 of file async_if_test_helper.hxx.