OpenJAUS Software Development Kit
4.3.1
|
Provides static methods for the Transport service. More...
#include <Transport.h>
Inherits openjaus::core::TransportInterface.
Inherited by openjaus::core::services::Events [virtual]
, and openjaus::core::Transport [virtual]
.
Public Member Functions | |
Transport () | |
virtual | ~Transport () |
virtual bool | enqueue (model::Trigger *trigger) |
Convert the destination address into an unsigned integer such that the ComponentID maps to the least significant byte, NodeID to the next least significant byte and SubsystemID maps onto the remaining two bytes of the integer. More... | |
virtual bool | broadcastLocalEnqueue (model::Trigger *trigger) |
Package the message as specified by the transport layer specification and send it to all endpoints in the local subsystem. More... | |
virtual bool | broadcastGlobalEnqueue (model::Trigger *trigger) |
Package the message as specified by the transport layer specification and send it to all endpoints on all subsystems. More... | |
virtual bool | sendMessage (model::Trigger *trigger) |
SendMessage action with input SendMessage. More... | |
virtual bool | broadcastToNode (model::Trigger *trigger) |
Broadcasts message to all components within the local node Broadcasts message to all components within the local node. More... | |
virtual bool | broadcastToSubsystem (model::Trigger *trigger) |
Broadcasts a given message to all nodes in the local subsystem (equivalent to broadcast local enqueue) Broadcasts a given message to all nodes in the local subsystem (equivalent to broadcast local enqueue) More... | |
virtual bool | broadcastToSystem (model::Trigger *trigger) |
Broadcasts the message to all subsystems on the JAUS network (equivalent to broadcast global enqueue) Broadcasts the message to all subsystems on the JAUS network (equivalent to broadcast global enqueue) More... | |
virtual bool | checkTransportPolicy (model::Trigger *trigger) |
CheckTransportPolicy action with input CheckTransportPolicy. More... | |
virtual ReportTransportPolicy | getReportTransportPolicy (QueryTransportPolicy *queryTransportPolicy) |
Send action for ReportTransportPolicy with input message QueryTransportPolicy. More... | |
virtual bool | storeTransportPolicy (ReportTransportPolicy *reportTransportPolicy) |
StoreTransportPolicy action with input ReportTransportPolicy. More... | |
model::State * | getCurrentState () |
void | addAckNakCallback (void(*callback)(const transport::AckNakEventArgs &args)) |
Adds a static callback that will execute when an ACK/NAK events occurs on the JUDP Interface. More... | |
void | addAckNakCallback (void(*callback)(void *object, const transport::AckNakEventArgs &args), void *object) |
Adds a class callback that will execute when an ACK/NAK events occurs on the JUDP Interface. More... | |
template<class MessageType , class CallbackClass > | |
void | addMessageCallback (bool(CallbackClass::*callback)(MessageType &messageRef), CallbackClass *object) |
template<class CallbackClass > | |
void | addMessageCallback (bool(CallbackClass::*callback)(model::Trigger *trigger), CallbackClass *object) |
template<class MessageType > | |
void | addMessageCallback (bool(*callback)(MessageType &messageRef)) |
Public Member Functions inherited from openjaus::core::TransportInterface | |
virtual | ~TransportInterface () |
Static Public Member Functions | |
static const char * | uri () |
The URI for the Service. More... | |
static model::Service * | create () |
Builds a default instance of the Transport Service and populates the URI and Version numbers. More... | |
Static Public Member Functions inherited from openjaus::core::TransportInterface | |
static OPENJAUS_DEPRECATED model::Service | TransportService () |
Builds a default instance of the Transport Service and populates the URI and Version numbers. More... | |
static OPENJAUS_DEPRECATED std::string | TransportUri () |
Static accessor for Service URI. More... | |
Protected Member Functions | |
void | configure (services::TransportSettingsInterface *settings) |
void | setComponentAddress (transport::Address *address) |
void | setReceiveQueue (system::PriorityQueue *queue) |
void | setSubsInterface (transport::Interface *interface) |
void | setNodeInterface (transport::Interface *interface) |
void | setComponentInterface (transport::Interface *interface) |
void | setJtcpInterface (transport::AS5669::JtcpInterface *interface) |
void | fireEvent (model::InternalEvent *event) |
void | sendToSelf (transport::Wrapper *wrapper) |
transport::Address *& | getComponentAddress () |
Protected Attributes | |
model::StateMachine | receive |
model::State | receivingState |
Private Member Functions | |
bool | isBroadcastAddress (const transport::Address &address) |
bool | shouldSendUsingTcp (TransportSettingsInterface *const settings, const model::Message *const message) |
bool | sendJausMessage (model::Message *const message) |
bool | sendConfigurationMessage (model::Message *const message) |
void | toWrapper (transport::Wrapper *const wrapper, model::Message *const message) |
bool | sendWrapper (transport::Wrapper *const wrapper) |
bool | sendOnTcpInterface (model::Message *const message) |
bool | sendOnUdpInterface (model::Message *const message) |
transport::Policy * | getTransportPolicy (const model::Message *const message) |
Private Attributes | |
PolicyLoop | policyLoop |
TransportSettingsInterface * | settings |
transport::Address * | componentAddress |
system::PriorityQueue * | receiveQueue |
transport::Interface * | subsInterface |
transport::Interface * | nodeInterface |
transport::Interface * | cmptInterface |
transport::AS5669::JtcpInterface * | tcpInterface |
std::map< uint64_t, transport::Policy *> | policyMap |
openjaus::core::services::Transport::Transport | ( | ) |
|
virtual |
Reimplemented in openjaus::core::Transport.
void openjaus::core::services::Transport::addAckNakCallback | ( | void(*)(const transport::AckNakEventArgs &args) | callback | ) |
void openjaus::core::services::Transport::addAckNakCallback | ( | void(*)(void *object, const transport::AckNakEventArgs &args) | callback, |
void * | object | ||
) |
|
inline |
|
inline |
|
inline |
|
virtual |
Package the message as specified by the transport layer specification and send it to all endpoints on all subsystems.
[in] | trigger | - Input Trigger. |
Implements openjaus::core::TransportInterface.
|
virtual |
Package the message as specified by the transport layer specification and send it to all endpoints in the local subsystem.
[in] | trigger | - Input Trigger. |
Implements openjaus::core::TransportInterface.
|
virtual |
[in] | trigger | - Input Trigger. |
Implements openjaus::core::TransportInterface.
|
virtual |
[in] | trigger | - Input Trigger. |
Implements openjaus::core::TransportInterface.
|
virtual |
[in] | trigger | - Input Trigger. |
Implements openjaus::core::TransportInterface.
|
virtual |
CheckTransportPolicy action with input CheckTransportPolicy.
[in] | trigger | - Input Trigger. |
Implements openjaus::core::TransportInterface.
|
protected |
|
static |
|
virtual |
Package the message as specified by the transport layer specification and send it to its destination as per the specified priority. Convert the destination address into an unsigned integer such that the ComponentID maps to the least significant byte, NodeID to the next least significant byte and SubsystemID maps onto the remaining two bytes of the integer. Package the message as specified by the transport layer specification and send it to its destination as per the specified priority.
[in] | trigger | - Input Trigger. |
Implements openjaus::core::TransportInterface.
|
protected |
|
protected |
model::State * openjaus::core::services::Transport::getCurrentState | ( | ) |
|
virtual |
Send action for ReportTransportPolicy with input message QueryTransportPolicy.
[in] | queryTransportPolicy | - Input Trigger. |
Implements openjaus::core::TransportInterface.
|
private |
|
private |
|
private |
|
private |
|
virtual |
SendMessage action with input SendMessage.
[in] | trigger | - Input Trigger. |
Implements openjaus::core::TransportInterface.
|
private |
|
private |
|
protected |
|
private |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
private |
|
virtual |
StoreTransportPolicy action with input ReportTransportPolicy.
[in] | reportTransportPolicy | - Input Trigger. |
Implements openjaus::core::TransportInterface.
|
private |
|
static |
|
private |
|
private |
|
private |
|
private |
|
private |
|
protected |
|
private |
|
protected |
|
private |
|
private |
|
private |