OpenJAUS Software Development Kit  4.3.1
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::PriorityQueue *> & 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::PriorityQueuegetRecvQueue () const
 Accessor to get the value of recvQueue. More...
 
bool setRecvQueue (system::PriorityQueue *recvQueue)
 Accessor to set value of recvQueue. More...
 
const system::PriorityQueuegetSendQueue () 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...
 
bool broadcast (Wrapper message)
 Operation broadcast. More...
 
virtual void run ()
 
virtual void stop ()
 
bool setRecvQueue (WrapperType type, system::PriorityQueue *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)
 
virtual bool sendInternal (Wrapper *message)
 

Protected Attributes

std::map< WrapperType, system::PriorityQueue *> recvQueues
 
uint16_t sequenceNumber
 
system::PriorityQueuerecvQueue
 
system::PriorityQueue 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

§ broadcast()

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

§ checkAddresses()

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

§ close()

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

§ getAddress()

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

§ getNodeIf()

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

§ getRecvQueue()

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

§ getRecvQueues()

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

§ getRecvThread()

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

§ getSendQueue()

const system::PriorityQueue & 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::PriorityQueue recvQueue)
Parameters
recvQueueThe value of the new recvQueue.

§ setRecvQueue() [2/2]

bool openjaus::transport::Interface::setRecvQueue ( WrapperType  type,
system::PriorityQueue 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::PriorityQueue* openjaus::transport::Interface::recvQueue
protected

§ recvQueues

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

§ recvThread

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

§ sendQueue

system::PriorityQueue 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: