|
Open Model Railroad Network (OpenMRN)
|
Datagram client implementation for CANbus-based datagram protocol. More...
Public Member Functions | |
| CanDatagramWriteFlow (IfCan *iface) | |
Public Member Functions inherited from openlcb::AddressedCanMessageWriteFlow | |
| AddressedCanMessageWriteFlow (IfCan *if_can) | |
Public Member Functions inherited from openlcb::CanMessageWriteFlow | |
| CanMessageWriteFlow (IfCan *if_can) | |
| IfCan * | if_can () |
Public Member Functions inherited from openlcb::WriteFlowBase | |
| WriteFlowBase (If *async_if) | |
Public Member Functions inherited from StateFlow< Buffer< GenMessage >, QList< 4 > > | |
| StateFlow (Service *service) | |
| Constructor. | |
Public Member Functions inherited from TypedStateFlow< MessageType, Base > | |
| TypedStateFlow (Service *service) | |
| Constructor. | |
| virtual | ~TypedStateFlow () |
| Destructor. | |
| void | send (MessageType *msg, unsigned priority=UINT_MAX) OVERRIDE |
| Sends a message to the state flow for processing. | |
Public Member Functions inherited from FlowInterface< MessageType > | |
| virtual Pool * | pool () |
| virtual MessageType * | type_helper () |
| This function is never user in the code, but GDB can use it to infer the correct message types. | |
| MessageType * | alloc () |
| Synchronously allocates a message buffer from the pool of this flow. | |
| void | alloc_async (Executable *target) |
| Asynchronously allocates a message buffer from the pool of this flow. | |
Private Member Functions | |
| Action | fill_can_frame_buffer () OVERRIDE |
Additional Inherited Members | |
Public Types inherited from TypedStateFlow< MessageType, Base > | |
| typedef Base::Action | Action |
| Allows using Action without having StateFlowBase:: prefix in front of it. | |
Public Types inherited from FlowInterface< MessageType > | |
| typedef MessageType | message_type |
| Stores the message template type for external reference. | |
Static Public Member Functions inherited from FlowInterface< MessageType > | |
| static MessageType * | cast_alloc (QMember *entry) |
| Down casts and initializes an asynchronous allocation result to the appropriate flow's buffer type. | |
Protected Member Functions inherited from openlcb::AddressedCanMessageWriteFlow | |
| Action | entry () override |
| Entry point of message handling flow. | |
| Action | send_to_hardware () override |
| This function will be called (on the main executor) to initiate sending this message to the hardware. | |
| Action | find_remote_alias () |
| Action | send_ame_frame () |
| Action | send_verify_nodeid_global () |
| Action | fill_verify_nodeid_global () |
| Action | wait_looking_for_dst () |
| virtual Action | timeout_looking_for_dst () |
| Action | remote_alias_found () |
Protected Member Functions inherited from openlcb::CanMessageWriteFlow | |
| Action | send_to_hardware () override |
| This function will be called (on the main executor) to initiate sending this message to the hardware. | |
| Action | find_local_alias () |
| Performs the local alias lookup and branches depending on whether we found a local alias or not. | |
| Action | get_can_frame_buffer () |
Protected Member Functions inherited from openlcb::WriteFlowBase | |
| virtual Action | send_to_local_node () |
| This state is called when an addressed message's destination is a node that is local to this interface. | |
| virtual Action | send_finished () |
| Virtual method called after the send is completed, i.e., all the frames are generated and sent to the hardware. | |
| If * | async_if () |
| GenMessage * | nmsg () |
| Implementations shall call this function when they are done with sending the packet. | |
| Action | addressed_entry () |
| Addressed write flows should call this state BEFORE sending to the hardware. | |
| Action | global_entry () |
| Global write flows should return to this state AFTER sending the message to the hardware. | |
Protected Member Functions inherited from TypedStateFlow< MessageType, Base > | |
| void | release () OVERRIDE |
| Unrefs the current buffer. | |
| void | return_buffer () |
| For state flows that are operated using invoke_subflow_and_wait this is a way to hand back the buffer to the caller. | |
| MessageType * | message () |
| MessageType * | transfer_message () |
| Releases ownership of the current message. | |
Protected Attributes inherited from openlcb::AddressedCanMessageWriteFlow | |
| openlcb::AddressedCanMessageWriteFlow::AliasDefListener | this |
| StateFlowTimer | timer_ |
Protected Attributes inherited from openlcb::CanMessageWriteFlow | |
| NodeAlias | srcAlias_ |
| Source node alias. | |
| NodeAlias | dstAlias_ |
| Destination node alias. | |
| uint8_t | dataOffset_ |
| for continuation frames: which offset in the Buffer should we start the payload at. | |
Datagram client implementation for CANbus-based datagram protocol.
This flow is responsible for the outgoing CAN datagram framing, and listens for incoming datagram response messages.
The base class of AddressedCanMessageWriteFlow is responsible for the discovery and address resolution of the destination node.
Definition at line 55 of file DatagramCan.cxx.
|
inline |
Definition at line 58 of file DatagramCan.cxx.
|
inlineprivatevirtual |
Reimplemented from openlcb::CanMessageWriteFlow.
Definition at line 65 of file DatagramCan.cxx.