YARP
Yet Another Robot Platform
yarp::os::PriorityCarrier Class Reference

Allow priority-based message selection. More...

#include <priority_carrier/PriorityCarrier.h>

+ Inheritance diagram for yarp::os::PriorityCarrier:

Detailed Description

Allow priority-based message selection.

Under development. Affected by carrier modifiers. Examples: tcp+recv.priority+level.15

Definition at line 87 of file PriorityCarrier.h.

Public Member Functions

 PriorityCarrier ()
 
virtual ~PriorityCarrier ()
 
virtual Carriercreate () const override
 Factory method. More...
 
virtual std::string getName () const override
 Get the name of this connection type ("tcp", "mcast", "shmem", ...) More...
 
virtual std::string toString () const override
 Get name of carrier. More...
 
bool isResting (double priority)
 
void stimulate (double t)
 
double getActualStimulation (double t)
 
double getActualInput (double t)
 
virtual bool configure (yarp::os::ConnectionState &proto) override
 Give carrier a shot at looking at how the connection is set up. More...
 
virtual bool acceptIncomingData (yarp::os::ConnectionReader &reader) override
 Determine whether incoming data should be accepted. More...
 
virtual void setCarrierParams (const yarp::os::Property &params) override
 Configure carrier from port administrative commands. More...
 
virtual void getCarrierParams (yarp::os::Property &params) const override
 Get carrier configuration and deliver it by port administrative commands. More...
 
- Public Member Functions inherited from yarp::os::ModifyingCarrier
virtual bool checkHeader (const yarp::os::Bytes &header) override
 Given the first 8 bytes received on a connection, decide if this is the right carrier type to use for the rest of the connection. More...
 
virtual void getHeader (yarp::os::Bytes &header) const override
 Provide 8 bytes describing this connection sufficiently to allow the other side of a connection to select it. More...
 
virtual bool respondToHeader (yarp::os::ConnectionState &proto) override
 Respond to the header. More...
 
virtual bool modifiesIncomingData () const override
 Check if this carrier modifies incoming data through the Carrier::modifyIncomingData method. More...
 
virtual bool modifiesOutgoingData () const override
 Check if this carrier modifies outgoing data through the Carrier::modifyOutgoingData method. More...
 
virtual bool modifiesReply () const override
 Check if this carrier modifies outgoing data through the Carrier::modifyReply method. More...
 
virtual bool configureFromProperty (yarp::os::Property &prop) override
 
- Public Member Functions inherited from yarp::os::AbstractCarrier
virtual void setParameters (const yarp::os::Bytes &header) override
 Configure this carrier based on the first 8 bytes of the connection. More...
 
virtual bool isConnectionless () const override
 Check if this carrier is connectionless (like udp, mcast) or connection based (like tcp). More...
 
virtual bool supportReply () const override
 This flag is used by YARP to determine whether the connection can carry RPC traffic, that is, messages with replies. More...
 
virtual bool canAccept () const override
 Check if reading is implemented for this carrier. More...
 
virtual bool canOffer () const override
 Check if writing is implemented for this carrier. More...
 
virtual bool isTextMode () const override
 Check if carrier is textual in nature. More...
 
virtual bool requireAck () const override
 Check if carrier has flow control, requiring sent messages to be acknowledged by recipient. More...
 
virtual bool canEscape () const override
 Check if carrier can encode administrative messages, as opposed to just user data. More...
 
virtual bool isLocal () const override
 Check if carrier operates within a single process. More...
 
virtual bool isActive () const override
 Check if carrier is alive and error free. More...
 
virtual bool prepareSend (ConnectionState &proto) override
 Perform any initialization needed before writing on a connection. More...
 
virtual bool sendHeader (ConnectionState &proto) override
 Write a header appropriate to the carrier to the connection, followed by any carrier-specific data. More...
 
virtual bool expectReplyToHeader (ConnectionState &proto) override
 Process reply to header, if one is expected for this carrier. More...
 
virtual bool sendIndex (ConnectionState &proto, SizedWriter &writer)
 
virtual bool expectExtraHeader (ConnectionState &proto) override
 Receive any carrier-specific header. More...
 
virtual bool expectIndex (ConnectionState &proto) override
 Expect a message header, if there is one for this carrier. More...
 
virtual bool expectSenderSpecifier (ConnectionState &proto) override
 Expect the name of the sending port. More...
 
virtual bool sendAck (ConnectionState &proto) override
 Send an acknowledgement, if needed for this carrier. More...
 
virtual bool expectAck (ConnectionState &proto) override
 Receive an acknowledgement, if expected for this carrier. More...
 
bool defaultSendHeader (ConnectionState &proto)
 Default implementation for the sendHeader method. More...
 
bool defaultExpectIndex (ConnectionState &proto)
 Default implementation for the expectIndex method. More...
 
bool defaultSendIndex (ConnectionState &proto, SizedWriter &writer)
 Default implementation for the sendIndex method. More...
 
bool defaultExpectAck (ConnectionState &proto)
 Default implementation for the expectAck method. More...
 
bool defaultSendAck (ConnectionState &proto)
 Default implementation for the sendAck method. More...
 
int readYarpInt (ConnectionState &proto)
 Read 8 bytes and interpret them as a YARP number. More...
 
void writeYarpInt (int n, ConnectionState &proto)
 Write n as an 8 bytes yarp number. More...
 
- Public Member Functions inherited from yarp::os::Carrier
virtual bool isBroadcast () const override
 Check if this carrier uses a broadcast mechanism. More...
 
virtual void handleEnvelope (const std::string &envelope) override
 Carriers that do not distinguish data from administrative headers (i.e. More...
 
virtual bool isPush () const override
 Check if carrier is "push" or "pull" style. More...
 
virtual bool reply (ConnectionState &proto, SizedWriter &writer)
 
virtual void prepareDisconnect () override
 Do cleanup and preparation for the coming disconnect, if necessary. More...
 
virtual void close ()
 Close the carrier. More...
 
virtual ~Carrier ()
 Destructor. More...
 
virtual std::string getBootstrapCarrierName () const
 Get the name of the carrier that should be used prior to handshaking, if a port is registered with this carrier as its default carrier. More...
 
virtual int connect (const Contact &src, const Contact &dest, const ContactStyle &style, int mode, bool reversed)
 Some carrier types may require special connection logic. More...
 
virtual ConnectionReadermodifyIncomingData (ConnectionReader &reader) override
 Modify incoming payload data, if appropriate. More...
 
virtual const PortWritermodifyOutgoingData (const PortWriter &writer) override
 Modify outgoing payload data, if appropriate. More...
 
virtual PortReadermodifyReply (PortReader &reader) override
 Modify reply payload data, if appropriate. More...
 
virtual bool acceptOutgoingData (const PortWriter &writer) override
 Determine whether outgoing data should be accepted. More...
 
virtual yarp::os::FacecreateFace () const
 Create new Face object that the carrier needs. More...
 
- Public Member Functions inherited from yarp::os::Connection
virtual ~Connection ()
 Destructor. More...
 
virtual bool isValid () const
 Check if this object is really a connection, or just an empty placeholder. More...
 
virtual bool isBareMode () const
 Check if carrier excludes type information from payload. More...
 

Public Attributes

double timeConstant
 
double timeResting
 
double stimulation
 
double temporalStimulation
 
double timeArrival
 
bool isVirtual
 
bool isActive
 
double baias
 
Bottle excitation
 
std::string sourceName
 
double yi
 

Static Private Member Functions

static ElectionOf< PriorityGroup > & getPeers ()
 

Private Attributes

std::string portName
 
PriorityGroupgroup
 
PriorityDebugThread debugger
 

Static Private Attributes

static ElectionOf< PriorityGroup > * peers = nullptr
 Class PriorityCarrier. More...
 

Friends

class PriorityDebugThread
 

Additional Inherited Members

- Protected Member Functions inherited from yarp::os::AbstractCarrier
int getSpecifier (const Bytes &b) const
 
void createStandardHeader (int specifier, yarp::os::Bytes &header) const
 
virtual bool write (ConnectionState &proto, SizedWriter &writer) override
 Write a message. More...
 
bool sendConnectionStateSpecifier (ConnectionState &proto)
 
bool sendSenderSpecifier (ConnectionState &proto)
 
- Static Protected Member Functions inherited from yarp::os::AbstractCarrier
static int interpretYarpNumber (const yarp::os::Bytes &b)
 
static void createYarpNumber (int x, yarp::os::Bytes &header)
 

Constructor & Destructor Documentation

◆ PriorityCarrier()

yarp::os::PriorityCarrier::PriorityCarrier ( )
inline

Definition at line 94 of file PriorityCarrier.h.

◆ ~PriorityCarrier()

virtual yarp::os::PriorityCarrier::~PriorityCarrier ( )
inlinevirtual

Definition at line 110 of file PriorityCarrier.h.

Member Function Documentation

◆ acceptIncomingData()

bool PriorityCarrier::acceptIncomingData ( yarp::os::ConnectionReader reader)
overridevirtual

Determine whether incoming data should be accepted.

Parameters
readerfor incoming data.
Returns
true if data should be accepted, false if it should be discarded.

Reimplemented from yarp::os::Carrier.

Definition at line 50 of file PriorityCarrier.cpp.

◆ configure()

bool PriorityCarrier::configure ( yarp::os::ConnectionState proto)
overridevirtual

Give carrier a shot at looking at how the connection is set up.

Returns
true if the carrier was correctly configured.

Reimplemented from yarp::os::Carrier.

Definition at line 59 of file PriorityCarrier.cpp.

◆ create()

virtual Carrier* yarp::os::PriorityCarrier::create ( ) const
inlineoverridevirtual

Factory method.

Get a new object of the same type as this one.

Returns
a new object of the same type as this one.

Implements yarp::os::ModifyingCarrier.

Definition at line 117 of file PriorityCarrier.h.

◆ getActualInput()

double PriorityCarrier::getActualInput ( double  t)

Definition at line 197 of file PriorityCarrier.cpp.

◆ getActualStimulation()

double PriorityCarrier::getActualStimulation ( double  t)

Definition at line 129 of file PriorityCarrier.cpp.

◆ getCarrierParams()

virtual void yarp::os::PriorityCarrier::getCarrierParams ( yarp::os::Property params) const
inlineoverridevirtual

Get carrier configuration and deliver it by port administrative commands.

Parameters
paramsproperties

Reimplemented from yarp::os::ModifyingCarrier.

Definition at line 172 of file PriorityCarrier.h.

◆ getName()

virtual std::string yarp::os::PriorityCarrier::getName ( ) const
inlineoverridevirtual

Get the name of this connection type ("tcp", "mcast", "shmem", ...)

Returns
the name of this connection type

Implements yarp::os::ModifyingCarrier.

Definition at line 121 of file PriorityCarrier.h.

◆ getPeers()

ElectionOf< PriorityGroup > & PriorityCarrier::getPeers ( )
staticprivate

Definition at line 37 of file PriorityCarrier.cpp.

◆ isResting()

bool yarp::os::PriorityCarrier::isResting ( double  priority)
inline

Definition at line 129 of file PriorityCarrier.h.

◆ setCarrierParams()

virtual void yarp::os::PriorityCarrier::setCarrierParams ( const yarp::os::Property params)
inlineoverridevirtual

Configure carrier from port administrative commands.

Parameters
paramsproperties

Reimplemented from yarp::os::ModifyingCarrier.

Definition at line 161 of file PriorityCarrier.h.

◆ stimulate()

void yarp::os::PriorityCarrier::stimulate ( double  t)
inline

Definition at line 135 of file PriorityCarrier.h.

◆ toString()

virtual std::string yarp::os::PriorityCarrier::toString ( ) const
inlineoverridevirtual

Get name of carrier.

Returns
name of carrier.

Reimplemented from yarp::os::AbstractCarrier.

Definition at line 125 of file PriorityCarrier.h.

Friends And Related Function Documentation

◆ PriorityDebugThread

friend class PriorityDebugThread
friend

Definition at line 90 of file PriorityCarrier.h.

Member Data Documentation

◆ baias

double yarp::os::PriorityCarrier::baias

Definition at line 191 of file PriorityCarrier.h.

◆ debugger

PriorityDebugThread yarp::os::PriorityCarrier::debugger
private

Definition at line 207 of file PriorityCarrier.h.

◆ excitation

Bottle yarp::os::PriorityCarrier::excitation

Definition at line 192 of file PriorityCarrier.h.

◆ group

PriorityGroup* yarp::os::PriorityCarrier::group
private

Definition at line 199 of file PriorityCarrier.h.

◆ isActive

bool yarp::os::PriorityCarrier::isActive

Definition at line 190 of file PriorityCarrier.h.

◆ isVirtual

bool yarp::os::PriorityCarrier::isVirtual

Definition at line 189 of file PriorityCarrier.h.

◆ peers

ElectionOf< PriorityGroup > * PriorityCarrier::peers = nullptr
staticprivate

Class PriorityCarrier.

Definition at line 201 of file PriorityCarrier.h.

◆ portName

std::string yarp::os::PriorityCarrier::portName
private

Definition at line 198 of file PriorityCarrier.h.

◆ sourceName

std::string yarp::os::PriorityCarrier::sourceName

Definition at line 193 of file PriorityCarrier.h.

◆ stimulation

double yarp::os::PriorityCarrier::stimulation

Definition at line 186 of file PriorityCarrier.h.

◆ temporalStimulation

double yarp::os::PriorityCarrier::temporalStimulation

Definition at line 187 of file PriorityCarrier.h.

◆ timeArrival

double yarp::os::PriorityCarrier::timeArrival

Definition at line 188 of file PriorityCarrier.h.

◆ timeConstant

double yarp::os::PriorityCarrier::timeConstant

Definition at line 184 of file PriorityCarrier.h.

◆ timeResting

double yarp::os::PriorityCarrier::timeResting

Definition at line 185 of file PriorityCarrier.h.

◆ yi

double yarp::os::PriorityCarrier::yi

Definition at line 195 of file PriorityCarrier.h.


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