YARP  2.3.68+225-20170329.5+gitb0d3289
Yet Another Robot Platform
yarp::os::ModifyingCarrier Class Referenceabstract

A starter class for implementing simple modifying carriers. More...

#include <yarp/os/ModifyingCarrier.h>

+ Inheritance diagram for yarp::os::ModifyingCarrier:

Public Member Functions

virtual Carriercreate ()=0
 Factory method. More...
 
virtual ConstString getName ()=0
 Get the name of this connection type ("tcp", "mcast", "shmem", ...) More...
 
virtual bool checkHeader (const yarp::os::Bytes &header)
 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 (const yarp::os::Bytes &header)
 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)
 Respond to the header. More...
 
virtual bool modifiesIncomingData ()
 Check if this carrier modifies incoming data through the Carrier::modifyIncomingData method. More...
 
virtual bool modifiesOutgoingData ()
 Check if this carrier modifies outgoing data through the Carrier::modifyOutgoingData method. More...
 
virtual bool modifiesReply ()
 Check if this carrier modifies outgoing data through the Carrier::modifyReply method. More...
 
virtual void setCarrierParams (const yarp::os::Property &params)
 Configure carrier from port administrative commands. More...
 
virtual void getCarrierParams (yarp::os::Property &params)
 Get carrier configuration and deliver it by port administrative commands. More...
 
virtual bool configureFromProperty (yarp::os::Property &prop)
 
- Public Member Functions inherited from yarp::os::AbstractCarrier
virtual void setParameters (const yarp::os::Bytes &header)
 Configure this carrier based on the first 8 bytes of the connection. More...
 
virtual bool isConnectionless ()
 Check if this carrier is connectionless (like udp, mcast) or connection based (like tcp). More...
 
virtual bool supportReply ()
 This flag is used by YARP to determine whether the connection can carry RPC traffic, that is, messages with replies. More...
 
virtual bool canAccept ()
 Check if reading is implemented for this carrier. More...
 
virtual bool canOffer ()
 Check if writing is implemented for this carrier. More...
 
virtual bool isTextMode ()
 Check if carrier is textual in nature. More...
 
virtual bool requireAck ()
 Check if carrier has flow control, requiring sent messages to be acknowledged by recipient. More...
 
virtual bool canEscape ()
 Check if carrier can encode administrative messages, as opposed to just user data. More...
 
virtual bool isLocal ()
 Check if carrier operates within a single process. More...
 
virtual ConstString toString ()
 Get name of carrier. More...
 
virtual bool prepareSend (ConnectionState &proto)
 Perform any initialization needed before writing on a connection. More...
 
virtual bool sendHeader (ConnectionState &proto)
 Write a header appropriate to the carrier to the connection, followed by any carrier-specific data. More...
 
virtual bool expectReplyToHeader (ConnectionState &proto)
 Process reply to header, if one is expected for this carrier. More...
 
virtual bool sendIndex (ConnectionState &proto, SizedWriter &writer)
 
virtual bool expectExtraHeader (ConnectionState &proto)
 Receive any carrier-specific header. More...
 
virtual bool expectIndex (ConnectionState &proto)
 Expect a message header, if there is one for this carrier. More...
 
virtual bool expectSenderSpecifier (ConnectionState &proto)
 Expect the name of the sending port. More...
 
virtual bool sendAck (ConnectionState &proto)
 Send an acknowledgement, if needed for this carrier. More...
 
virtual bool expectAck (ConnectionState &proto)
 Receive an acknowledgement, if expected for this carrier. More...
 
virtual bool isActive ()
 Check if carrier is alive and error free. More...
 
bool defaultSendHeader (ConnectionState &proto)
 
bool defaultExpectIndex (ConnectionState &proto)
 
bool defaultSendIndex (ConnectionState &proto, SizedWriter &writer)
 
bool defaultExpectAck (ConnectionState &proto)
 
bool defaultSendAck (ConnectionState &proto)
 
int readYarpInt (ConnectionState &proto)
 
void writeYarpInt (int n, ConnectionState &proto)
 
- Public Member Functions inherited from yarp::os::Carrier
virtual bool isBroadcast ()
 Check if this carrier uses a broadcast mechanism. More...
 
virtual void handleEnvelope (const yarp::os::ConstString &envelope)
 Carriers that do not distinguish data from administrative headers (i.e. More...
 
virtual bool isPush ()
 Check if carrier is "push" or "pull" style. More...
 
virtual bool reply (ConnectionState &proto, SizedWriter &writer)
 
virtual void prepareDisconnect ()
 Do cleanup and preparation for the coming disconnect, if necessary. More...
 
virtual void close ()
 Close the carrier. More...
 
virtual ~Carrier ()
 Destructor. More...
 
virtual ConstString getBootstrapCarrierName ()
 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)
 Modify incoming payload data, if appropriate. More...
 
virtual bool acceptIncomingData (ConnectionReader &reader)
 Determine whether incoming data should be accepted. More...
 
virtual PortWritermodifyOutgoingData (PortWriter &writer)
 Modify outgoing payload data, if appropriate. More...
 
virtual PortReadermodifyReply (PortReader &reader)
 Modify reply payload data, if appropriate. More...
 
virtual bool acceptOutgoingData (PortWriter &writer)
 Determine whether outgoing data should be accepted. More...
 
virtual bool configure (ConnectionState &proto)
 Give carrier a shot at looking at how the connection is set up. More...
 
- Public Member Functions inherited from yarp::os::Connection
virtual ~Connection ()
 Destructor. More...
 
virtual bool isValid ()
 Check if this object is really a connection, or just an empty placeholder. More...
 
virtual bool isBareMode ()
 Check if carrier excludes type information from payload. More...
 

Additional Inherited Members

- Protected Member Functions inherited from yarp::os::AbstractCarrier
int getSpecifier (const Bytes &b)
 
void createStandardHeader (int specifier, const yarp::os::Bytes &header)
 
virtual bool write (ConnectionState &proto, SizedWriter &writer)
 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, const yarp::os::Bytes &header)
 

Detailed Description

A starter class for implementing simple modifying carriers.

These are not standalone carriers, they just tweak payload data in custom ways.

Definition at line 23 of file ModifyingCarrier.h.

Member Function Documentation

◆ checkHeader()

bool yarp::os::ModifyingCarrier::checkHeader ( const yarp::os::Bytes header)
virtual

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.

For example the "text" carrier looks for the 8-byte sequence "CONNECT ". See the YARP protocol documentation for all the sequences in use here. In general you are free to add your own.

Parameters
headera buffer holding the first 8 bytes received on the connection
Returns
true if this is the carrier to use.

Implements yarp::os::AbstractCarrier.

Definition at line 11 of file ModifyingCarrier.cpp.

◆ configureFromProperty()

bool yarp::os::ModifyingCarrier::configureFromProperty ( yarp::os::Property prop)
virtual

Reimplemented from yarp::os::Carrier.

Reimplemented in yarp::os::PortMonitor.

Definition at line 48 of file ModifyingCarrier.cpp.

◆ create()

virtual Carrier* yarp::os::ModifyingCarrier::create ( )
pure virtual

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

Implemented in yarp::os::PriorityCarrier, yarp::os::BayerCarrier, and yarp::os::PortMonitor.

◆ getCarrierParams()

void yarp::os::ModifyingCarrier::getCarrierParams ( yarp::os::Property params)
virtual

Get carrier configuration and deliver it by port administrative commands.

Parameters
paramsproperties

Reimplemented from yarp::os::AbstractCarrier.

Reimplemented in yarp::os::PriorityCarrier, and yarp::os::PortMonitor.

Definition at line 45 of file ModifyingCarrier.cpp.

◆ getHeader()

void yarp::os::ModifyingCarrier::getHeader ( const yarp::os::Bytes header)
virtual

Provide 8 bytes describing this connection sufficiently to allow the other side of a connection to select it.

Parameters
headera buffer to hold the first 8 bytes to send on a connection

Implements yarp::os::AbstractCarrier.

Definition at line 16 of file ModifyingCarrier.cpp.

◆ getName()

virtual ConstString yarp::os::ModifyingCarrier::getName ( )
pure virtual

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

Returns
the name of this connection type

Implements yarp::os::AbstractCarrier.

Implemented in yarp::os::PriorityCarrier, yarp::os::BayerCarrier, and yarp::os::PortMonitor.

◆ modifiesIncomingData()

bool yarp::os::ModifyingCarrier::modifiesIncomingData ( )
virtual

Check if this carrier modifies incoming data through the Carrier::modifyIncomingData method.

Returns
true if carrier wants Carrier::modifyIncomingData called.

Reimplemented from yarp::os::Carrier.

Definition at line 29 of file ModifyingCarrier.cpp.

◆ modifiesOutgoingData()

bool yarp::os::ModifyingCarrier::modifiesOutgoingData ( )
virtual

Check if this carrier modifies outgoing data through the Carrier::modifyOutgoingData method.

Returns
true if carrier wants Carrier::modifyOutgoingData called.

Reimplemented from yarp::os::Carrier.

Definition at line 33 of file ModifyingCarrier.cpp.

◆ modifiesReply()

bool yarp::os::ModifyingCarrier::modifiesReply ( )
virtual

Check if this carrier modifies outgoing data through the Carrier::modifyReply method.

Returns
true if carrier wants Carrier::modifyReply called.

Reimplemented from yarp::os::Carrier.

Definition at line 37 of file ModifyingCarrier.cpp.

◆ respondToHeader()

bool yarp::os::ModifyingCarrier::respondToHeader ( yarp::os::ConnectionState proto)
virtual

Respond to the header.

Parameters
protothe protocol object, which tracks connection state
Returns
true on success, false on failure

Implements yarp::os::AbstractCarrier.

Definition at line 25 of file ModifyingCarrier.cpp.

◆ setCarrierParams()

void yarp::os::ModifyingCarrier::setCarrierParams ( const yarp::os::Property params)
virtual

Configure carrier from port administrative commands.

Parameters
paramsproperties

Reimplemented from yarp::os::AbstractCarrier.

Reimplemented in yarp::os::PriorityCarrier, and yarp::os::PortMonitor.

Definition at line 42 of file ModifyingCarrier.cpp.


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