OpenJAUS SAE SDK  6.0.0
Classes | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Friends | List of all members
openjaus::transport::Interface Class Referenceabstract

This is a brief description. More...

#include <Interface.h>

Inherited by openjaus::transport::AS5669::JtcpInterface, and openjaus::transport::AS5669::JudpInterface.

Classes

class  Callback
 

Public Member Functions

 Interface ()
 
virtual ~Interface ()
 
 Interface (InterfaceSettingsInterface *settings)
 
const std::map< WrapperType, system::IPriorityQueue *> & getRecvQueues () const
 Accessor to get the value of recvQueues. More...
 
uint16_t getSequenceNumber () const
 Accessor to get the value of sequenceNumber. More...
 
bool setSequenceNumber (uint16_t sequenceNumber)
 Accessor to set value of sequenceNumber. More...
 
system::IPriorityQueuegetRecvQueue () const
 Accessor to get the value of recvQueue. More...
 
bool setRecvQueue (system::IPriorityQueue *recvQueue)
 Accessor to set value of recvQueue. More...
 
const system::IPriorityQueuegetSendQueue () const
 Accessor to get the value of sendQueue. More...
 
const system::ThreadgetRecvThread () const
 Accessor to get the value of recvThread. More...
 
const system::ThreadgetSendThread () const
 Accessor to get the value of sendThread. More...
 
system::NetworkInterfacegetSubsIf () const
 Accessor to get the value of subsIf. More...
 
bool setSubsIf (system::NetworkInterface *subsIf)
 Accessor to set value of subsIf. More...
 
system::NetworkInterfacegetNodeIf () const
 Accessor to get the value of nodeIf. More...
 
bool setNodeIf (system::NetworkInterface *nodeIf)
 Accessor to set value of nodeIf. More...
 
AddressgetAddress () const
 Accessor to get the value of address. More...
 
bool setAddress (Address *address)
 Accessor to set value of address. More...
 
bool send (Wrapper *message)
 Operation send. More...
 
bool open (Address tAddress)
 Operation open. More...
 
bool close ()
 Operation close. More...
 
virtual void run ()
 
virtual void stop ()
 
bool setRecvQueue (WrapperType type, system::IPriorityQueue *queue)
 Operation setRecvQueue. More...
 
bool checkAddresses (Wrapper *message)
 Operation checkAddresses. More...
 
virtual std::string toString () const
 
virtual void addAckNakCallback (void(*callback)(const AckNakEventArgs &args))=0
 
virtual void addAckNakCallback (void(*callback)(void *object, const AckNakEventArgs &args), void *object)=0
 
virtual void removeAckNakCallback (void(*callback)(const AckNakEventArgs &args))=0
 
virtual void removeAckNakCallback (void(*callback)(void *object, const AckNakEventArgs &args), void *object)=0
 

Static Public Member Functions

static std::vector< AS5669::JausWrapper * > splitLargeMessage (Wrapper *wrapper)
 

Protected Member Functions

virtual void * recvThreadMethod ()
 
virtual void * sendThreadMethod ()
 
virtual void sendMessage (Wrapper *wrapper)=0
 
virtual void handleNakSend (Wrapper *nak)
 Sends a NAK over the interface. More...
 
void recvLargeMessage (Wrapper *wrapper)
 
void sendLargeMessage (Wrapper *wrapper)
 
bool messageIsForMe (Wrapper *const wrapper)
 
uint16 getNextSequenceNumber ()
 
virtual bool sendInternal (Wrapper *message)
 

Protected Attributes

std::map< WrapperType, system::IPriorityQueue *> recvQueues
 
uint16_t sequenceNumber
 
system::IPriorityQueuerecvQueue
 
system::PriorityQueue< system::Prioritized * > sendQueue
 
system::Thread recvThread
 
system::Thread sendThread
 
system::NetworkInterfacesubsIf
 
system::NetworkInterfacenodeIf
 
Addressaddress
 
std::map< transport::Address, JausLargeMessageBuffer * > largeMessageMap
 

Private Member Functions

JausLargeMessageBufferlookupMessageBuffer (Wrapper *const wrapper)
 

Private Attributes

InterfaceSettingsInterfacesettings
 

Friends

OPENJAUS_EXPORT friend std::ostream & operator<< (std::ostream &output, const Interface &object)
 
OPENJAUS_EXPORT friend std::ostream & operator<< (std::ostream &output, const Interface *object)
 

Detailed Description

Detailed description.

Author
Name (name@.nosp@m.emai.nosp@m.l.com)

Constructor & Destructor Documentation

◆ Interface() [1/2]

openjaus::transport::Interface::Interface ( )

◆ ~Interface()

openjaus::transport::Interface::~Interface ( )
virtual

◆ Interface() [2/2]

openjaus::transport::Interface::Interface ( InterfaceSettingsInterface settings)

Member Function Documentation

◆ addAckNakCallback() [1/2]

virtual void openjaus::transport::Interface::addAckNakCallback ( void(*)(const AckNakEventArgs &args)  callback)
pure virtual

◆ addAckNakCallback() [2/2]

virtual void openjaus::transport::Interface::addAckNakCallback ( void(*)(void *object, const AckNakEventArgs &args)  callback,
void *  object 
)
pure virtual

◆ checkAddresses()

bool openjaus::transport::Interface::checkAddresses ( Wrapper message)
Parameters
message

◆ close()

bool openjaus::transport::Interface::close ( )

◆ getAddress()

Address * openjaus::transport::Interface::getAddress ( ) const

◆ getNextSequenceNumber()

uint16 openjaus::transport::Interface::getNextSequenceNumber ( )
protected

◆ getNodeIf()

system::NetworkInterface * openjaus::transport::Interface::getNodeIf ( ) const

◆ getRecvQueue()

system::IPriorityQueue * openjaus::transport::Interface::getRecvQueue ( ) const

◆ getRecvQueues()

const std::map< WrapperType, system::IPriorityQueue *> & openjaus::transport::Interface::getRecvQueues ( ) const

◆ getRecvThread()

const system::Thread & openjaus::transport::Interface::getRecvThread ( ) const

◆ getSendQueue()

const system::IPriorityQueue & openjaus::transport::Interface::getSendQueue ( ) const

◆ getSendThread()

const system::Thread & openjaus::transport::Interface::getSendThread ( ) const

◆ getSequenceNumber()

uint16_t openjaus::transport::Interface::getSequenceNumber ( ) const

◆ getSubsIf()

system::NetworkInterface * openjaus::transport::Interface::getSubsIf ( ) const

◆ handleNakSend()

void openjaus::transport::Interface::handleNakSend ( Wrapper nak)
protectedvirtual

Sends a NAK over the interface. By default, the NAK is not handled is simply deleted.

Reimplemented in openjaus::transport::AS5669::JudpInterface.

◆ lookupMessageBuffer()

JausLargeMessageBuffer * openjaus::transport::Interface::lookupMessageBuffer ( Wrapper *const  wrapper)
private

◆ messageIsForMe()

bool openjaus::transport::Interface::messageIsForMe ( Wrapper *const  wrapper)
protected

◆ open()

bool openjaus::transport::Interface::open ( Address  tAddress)
Parameters
tAddress

◆ recvLargeMessage()

void openjaus::transport::Interface::recvLargeMessage ( Wrapper wrapper)
protected

◆ recvThreadMethod()

void * openjaus::transport::Interface::recvThreadMethod ( )
protectedvirtual

◆ removeAckNakCallback() [1/2]

virtual void openjaus::transport::Interface::removeAckNakCallback ( void(*)(const AckNakEventArgs &args)  callback)
pure virtual

◆ removeAckNakCallback() [2/2]

virtual void openjaus::transport::Interface::removeAckNakCallback ( void(*)(void *object, const AckNakEventArgs &args)  callback,
void *  object 
)
pure virtual

◆ run()

void openjaus::transport::Interface::run ( )
virtual

◆ send()

bool openjaus::transport::Interface::send ( Wrapper message)
Parameters
message

◆ sendInternal()

bool openjaus::transport::Interface::sendInternal ( Wrapper message)
protectedvirtual

◆ sendLargeMessage()

void openjaus::transport::Interface::sendLargeMessage ( Wrapper wrapper)
protected

◆ sendMessage()

virtual void openjaus::transport::Interface::sendMessage ( Wrapper wrapper)
protectedpure virtual

◆ sendThreadMethod()

void * openjaus::transport::Interface::sendThreadMethod ( )
protectedvirtual

◆ setAddress()

bool openjaus::transport::Interface::setAddress ( Address address)
Parameters
addressThe value of the new address.

◆ setNodeIf()

bool openjaus::transport::Interface::setNodeIf ( system::NetworkInterface nodeIf)
Parameters
nodeIfThe value of the new nodeIf.

◆ setRecvQueue() [1/2]

bool openjaus::transport::Interface::setRecvQueue ( system::IPriorityQueue recvQueue)
Parameters
recvQueueThe value of the new recvQueue.

◆ setRecvQueue() [2/2]

bool openjaus::transport::Interface::setRecvQueue ( WrapperType  type,
system::IPriorityQueue queue 
)
Parameters
type
queue

◆ setSequenceNumber()

bool openjaus::transport::Interface::setSequenceNumber ( uint16_t  sequenceNumber)
Parameters
sequenceNumberThe value of the new sequenceNumber.

◆ setSubsIf()

bool openjaus::transport::Interface::setSubsIf ( system::NetworkInterface subsIf)
Parameters
subsIfThe value of the new subsIf.

◆ splitLargeMessage()

std::vector< AS5669::JausWrapper * > openjaus::transport::Interface::splitLargeMessage ( Wrapper wrapper)
static

◆ stop()

void openjaus::transport::Interface::stop ( )
virtual

◆ toString()

std::string openjaus::transport::Interface::toString ( ) const
virtual

Friends And Related Function Documentation

◆ operator<< [1/2]

OPENJAUS_EXPORT friend std::ostream& operator<< ( std::ostream &  output,
const Interface object 
)
friend

◆ operator<< [2/2]

OPENJAUS_EXPORT friend std::ostream& operator<< ( std::ostream &  output,
const Interface object 
)
friend

Member Data Documentation

◆ address

Address* openjaus::transport::Interface::address
protected

◆ largeMessageMap

std::map< transport::Address, JausLargeMessageBuffer *> openjaus::transport::Interface::largeMessageMap
protected

◆ nodeIf

system::NetworkInterface* openjaus::transport::Interface::nodeIf
protected

◆ recvQueue

system::IPriorityQueue* openjaus::transport::Interface::recvQueue
protected

◆ recvQueues

std::map< WrapperType, system::IPriorityQueue * > openjaus::transport::Interface::recvQueues
protected

◆ recvThread

system::Thread openjaus::transport::Interface::recvThread
protected

◆ sendQueue

system::PriorityQueue<system::Prioritized*> openjaus::transport::Interface::sendQueue
protected

◆ sendThread

system::Thread openjaus::transport::Interface::sendThread
protected

◆ sequenceNumber

uint16_t openjaus::transport::Interface::sequenceNumber
protected

◆ settings

InterfaceSettingsInterface* openjaus::transport::Interface::settings
private

◆ subsIf

system::NetworkInterface* openjaus::transport::Interface::subsIf
protected

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