OpenJAUS Software Development Kit  4.3.1
Public Member Functions | Static Public Member Functions | List of all members
openjaus::core::TransportInterface Class Referenceabstract

Provides an abstract interface for the Transport service. More...

#include <TransportInterface.h>

Inherited by openjaus::core::EventsInterface [virtual], and openjaus::core::services::Transport [virtual].

Public Member Functions

virtual ~TransportInterface ()
 
virtual bool enqueue (model::Trigger *trigger)=0
 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)=0
 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)=0
 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)=0
 SendMessage action with input SendMessage. More...
 
virtual bool broadcastToNode (model::Trigger *trigger)=0
 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)=0
 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)=0
 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)=0
 CheckTransportPolicy action with input CheckTransportPolicy. More...
 
virtual ReportTransportPolicy getReportTransportPolicy (QueryTransportPolicy *queryTransportPolicy)=0
 Send action for ReportTransportPolicy with input message QueryTransportPolicy. More...
 
virtual bool storeTransportPolicy (ReportTransportPolicy *reportTransportPolicy)=0
 StoreTransportPolicy action with input ReportTransportPolicy. More...
 

Static Public Member Functions

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...
 

Detailed Description

The transport service acts as an interface to the JAUS transport layer. It models an abstract bi-directional communication channel (input queue and output queue) whose primary function is to provide the capability of sending messages to a single destination endpoint or broadcasting messages to all endpoints in the system, and to receive a message from any source endpoint. It also provides the capability to prioritize the delivery of sent messages. service establishes a communication endpoint whose address is defined by a triple {SubsystemID, NodeID, ComponentID} as specified by the Send and Receive internal events. Other services that need to utilize the communication channel provided by the transport service must inherit from the transport service.



URI: urn:jaus:jss:core:Transport

Version: 1.0

Inherits From:

Constructor & Destructor Documentation

§ ~TransportInterface()

virtual openjaus::core::TransportInterface::~TransportInterface ( )
inlinevirtual

Member Function Documentation

§ broadcastGlobalEnqueue()

virtual bool openjaus::core::TransportInterface::broadcastGlobalEnqueue ( model::Trigger trigger)
pure virtual

Package the message as specified by the transport layer specification and send it to all endpoints on all subsystems.

Parameters
[in]trigger- Input Trigger.
Returns
Whether the message was properly processed by this action.

Implemented in openjaus::core::services::Transport.

§ broadcastLocalEnqueue()

virtual bool openjaus::core::TransportInterface::broadcastLocalEnqueue ( model::Trigger trigger)
pure virtual

Package the message as specified by the transport layer specification and send it to all endpoints in the local subsystem.

Parameters
[in]trigger- Input Trigger.
Returns
Whether the message was properly processed by this action.

Implemented in openjaus::core::services::Transport.

§ broadcastToNode()

virtual bool openjaus::core::TransportInterface::broadcastToNode ( model::Trigger trigger)
pure virtual
Parameters
[in]trigger- Input Trigger.
Returns
Whether the message was properly processed by this action.

Implemented in openjaus::core::services::Transport.

§ broadcastToSubsystem()

virtual bool openjaus::core::TransportInterface::broadcastToSubsystem ( model::Trigger trigger)
pure virtual
Parameters
[in]trigger- Input Trigger.
Returns
Whether the message was properly processed by this action.

Implemented in openjaus::core::services::Transport.

§ broadcastToSystem()

virtual bool openjaus::core::TransportInterface::broadcastToSystem ( model::Trigger trigger)
pure virtual
Parameters
[in]trigger- Input Trigger.
Returns
Whether the message was properly processed by this action.

Implemented in openjaus::core::services::Transport.

§ checkTransportPolicy()

virtual bool openjaus::core::TransportInterface::checkTransportPolicy ( model::Trigger trigger)
pure virtual

CheckTransportPolicy action with input CheckTransportPolicy.

Parameters
[in]trigger- Input Trigger.
Returns
Whether the message was properly processed by this action.

Implemented in openjaus::core::services::Transport.

§ enqueue()

virtual bool openjaus::core::TransportInterface::enqueue ( model::Trigger trigger)
pure 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.

Parameters
[in]trigger- Input Trigger.
Returns
Whether the message was properly processed by this action.

Implemented in openjaus::core::services::Transport.

§ getReportTransportPolicy()

virtual ReportTransportPolicy openjaus::core::TransportInterface::getReportTransportPolicy ( QueryTransportPolicy queryTransportPolicy)
pure virtual

Send action for ReportTransportPolicy with input message QueryTransportPolicy.

Parameters
[in]queryTransportPolicy- Input Trigger.
Returns
ReportTransportPolicy Output Message.

Implemented in openjaus::core::services::Transport.

§ sendMessage()

virtual bool openjaus::core::TransportInterface::sendMessage ( model::Trigger trigger)
pure virtual

SendMessage action with input SendMessage.

Parameters
[in]trigger- Input Trigger.
Returns
Whether the message was properly processed by this action.

Implemented in openjaus::core::services::Transport.

§ storeTransportPolicy()

virtual bool openjaus::core::TransportInterface::storeTransportPolicy ( ReportTransportPolicy reportTransportPolicy)
pure virtual

StoreTransportPolicy action with input ReportTransportPolicy.

Parameters
[in]reportTransportPolicy- Input Trigger.
Returns
Whether the message was properly processed by this action.

Implemented in openjaus::core::services::Transport.

§ TransportService()

static OPENJAUS_DEPRECATED model::Service openjaus::core::TransportInterface::TransportService ( )
inlinestatic
Returns
model::Service - The populated service.

§ TransportUri()

static OPENJAUS_DEPRECATED std::string openjaus::core::TransportInterface::TransportUri ( )
inlinestatic
Returns
std::string - Service URI

The documentation for this class was generated from the following file: