No documentation available. More...
#include <human_carrier/HumanCarrier.h>
Public Member Functions | |
Carrier * | create () const override |
Factory method. More... | |
std::string | getName () const override |
Get the name of this connection type ("tcp", "mcast", "shmem", ...) More... | |
bool | isConnectionless () const override |
Check if this carrier is connectionless (like udp, mcast) or connection based (like tcp). More... | |
bool | canAccept () const override |
Check if reading is implemented for this carrier. More... | |
bool | canOffer () const override |
Check if writing is implemented for this carrier. More... | |
bool | isTextMode () const override |
Check if carrier is textual in nature. More... | |
bool | canEscape () const override |
Check if carrier can encode administrative messages, as opposed to just user data. More... | |
bool | requireAck () const override |
Check if carrier has flow control, requiring sent messages to be acknowledged by recipient. More... | |
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... | |
bool | isLocal () const override |
Check if carrier operates within a single process. More... | |
std::string | toString () const override |
Get name of carrier. More... | |
void | getHeader (Bytes &header) const override |
Provide 8 bytes describing this connection sufficiently to allow the other side of a connection to select it. More... | |
bool | checkHeader (const 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... | |
void | setParameters (const Bytes &header) override |
Configure this carrier based on the first 8 bytes of the connection. More... | |
bool | prepareSend (ConnectionState &proto) override |
Perform any initialization needed before writing on a connection. More... | |
bool | sendHeader (ConnectionState &proto) override |
Write a header appropriate to the carrier to the connection, followed by any carrier-specific data. More... | |
bool | expectSenderSpecifier (ConnectionState &proto) override |
Expect the name of the sending port. More... | |
bool | expectExtraHeader (ConnectionState &proto) override |
Receive any carrier-specific header. More... | |
bool | respondToHeader (ConnectionState &proto) override |
Respond to the header. More... | |
bool | expectReplyToHeader (ConnectionState &proto) override |
Process reply to header, if one is expected for this carrier. More... | |
bool | isActive () const override |
Check if carrier is alive and error free. More... | |
bool | write (ConnectionState &proto, SizedWriter &writer) override |
Write a message. More... | |
virtual bool | sendIndex (ConnectionState &proto, SizedWriter &writer) |
bool | expectIndex (ConnectionState &proto) override |
Expect a message header, if there is one for this carrier. More... | |
bool | sendAck (ConnectionState &proto) override |
Send an acknowledgement, if needed for this carrier. More... | |
bool | expectAck (ConnectionState &proto) override |
Receive an acknowledgement, if expected for this carrier. More... | |
![]() | |
virtual Carrier * | create () const =0 |
Factory method. More... | |
virtual bool | checkHeader (const Bytes &header)=0 |
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 | setParameters (const Bytes &header)=0 |
Configure this carrier based on the first 8 bytes of the connection. More... | |
void | getHeader (Bytes &header) const override=0 |
Provide 8 bytes describing this connection sufficiently to allow the other side of a connection to select it. More... | |
bool | isConnectionless () const override=0 |
Check if this carrier is connectionless (like udp, mcast) or connection based (like tcp). More... | |
bool | isBroadcast () const override |
Check if this carrier uses a broadcast mechanism. More... | |
virtual bool | canAccept () const =0 |
Check if reading is implemented for this carrier. More... | |
virtual bool | canOffer () const =0 |
Check if writing is implemented for this carrier. More... | |
bool | isTextMode () const override=0 |
Check if carrier is textual in nature. More... | |
bool | canEscape () const override=0 |
Check if carrier can encode administrative messages, as opposed to just user data. More... | |
void | handleEnvelope (const std::string &envelope) override |
Carriers that do not distinguish data from administrative headers (i.e. More... | |
bool | requireAck () const override=0 |
Check if carrier has flow control, requiring sent messages to be acknowledged by recipient. More... | |
bool | supportReply () const override=0 |
This flag is used by YARP to determine whether the connection can carry RPC traffic, that is, messages with replies. More... | |
bool | isLocal () const override=0 |
Check if carrier operates within a single process. More... | |
bool | isPush () const override |
Check if carrier is "push" or "pull" style. More... | |
virtual bool | prepareSend (ConnectionState &proto)=0 |
Perform any initialization needed before writing on a connection. More... | |
virtual bool | sendHeader (ConnectionState &proto)=0 |
Write a header appropriate to the carrier to the connection, followed by any carrier-specific data. More... | |
virtual bool | expectReplyToHeader (ConnectionState &proto)=0 |
Process reply to header, if one is expected for this carrier. More... | |
virtual bool | write (ConnectionState &proto, SizedWriter &writer)=0 |
Write a message. More... | |
virtual bool | reply (ConnectionState &proto, SizedWriter &writer) |
virtual bool | expectExtraHeader (ConnectionState &proto)=0 |
Receive any carrier-specific header. More... | |
virtual bool | respondToHeader (ConnectionState &proto)=0 |
Respond to the header. More... | |
virtual bool | expectIndex (ConnectionState &proto)=0 |
Expect a message header, if there is one for this carrier. More... | |
virtual bool | expectSenderSpecifier (ConnectionState &proto)=0 |
Expect the name of the sending port. More... | |
virtual bool | sendAck (ConnectionState &proto)=0 |
Send an acknowledgement, if needed for this carrier. More... | |
virtual bool | expectAck (ConnectionState &proto)=0 |
Receive an acknowledgement, if expected for this carrier. More... | |
bool | isActive () const override=0 |
Check if carrier is alive and error free. More... | |
void | prepareDisconnect () override |
Do cleanup and preparation for the coming disconnect, if necessary. More... | |
virtual std::string | toString () const =0 |
Get name of carrier. 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... | |
bool | modifiesIncomingData () const override |
Check if this carrier modifies incoming data through the Carrier::modifyIncomingData method. More... | |
ConnectionReader & | modifyIncomingData (ConnectionReader &reader) override |
Modify incoming payload data, if appropriate. More... | |
bool | acceptIncomingData (ConnectionReader &reader) override |
Determine whether incoming data should be accepted. More... | |
bool | modifiesOutgoingData () const override |
Check if this carrier modifies outgoing data through the Carrier::modifyOutgoingData method. More... | |
const PortWriter & | modifyOutgoingData (const PortWriter &writer) override |
Modify outgoing payload data, if appropriate. More... | |
bool | modifiesReply () const override |
Check if this carrier modifies outgoing data through the Carrier::modifyReply method. More... | |
PortReader & | modifyReply (PortReader &reader) override |
Modify reply payload data, if appropriate. More... | |
bool | acceptOutgoingData (const PortWriter &writer) override |
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... | |
virtual bool | configureFromProperty (yarp::os::Property &options) |
void | setCarrierParams (const Property ¶ms) override |
Configure carrier from port administrative commands. More... | |
void | getCarrierParams (Property ¶ms) const override |
Get carrier configuration and deliver it by port administrative commands. More... | |
virtual yarp::os::Face * | createFace () const |
Create new Face object that the carrier needs. More... | |
![]() | |
virtual | ~Connection () |
Destructor. More... | |
virtual bool | isValid () const |
Check if this object is really a connection, or just an empty placeholder. More... | |
virtual bool | isTextMode () const =0 |
Check if carrier is textual in nature. More... | |
virtual bool | isBareMode () const |
Check if carrier excludes type information from payload. More... | |
virtual void | handleEnvelope (const std::string &envelope)=0 |
Carriers that do not distinguish data from administrative headers (i.e. More... | |
virtual bool | canEscape () const =0 |
Check if carrier can encode administrative messages, as opposed to just user data. More... | |
virtual bool | requireAck () const =0 |
Check if carrier has flow control, requiring sent messages to be acknowledged by recipient. More... | |
virtual bool | supportReply () const =0 |
This flag is used by YARP to determine whether the connection can carry RPC traffic, that is, messages with replies. More... | |
virtual bool | isLocal () const =0 |
Check if carrier operates within a single process. More... | |
virtual bool | isPush () const =0 |
Check if carrier is "push" or "pull" style. More... | |
virtual bool | isConnectionless () const =0 |
Check if this carrier is connectionless (like udp, mcast) or connection based (like tcp). More... | |
virtual bool | isBroadcast () const =0 |
Check if this carrier uses a broadcast mechanism. More... | |
virtual bool | isActive () const =0 |
Check if carrier is alive and error free. More... | |
virtual bool | modifiesIncomingData () const =0 |
Check if this carrier modifies incoming data through the Carrier::modifyIncomingData method. More... | |
virtual yarp::os::ConnectionReader & | modifyIncomingData (yarp::os::ConnectionReader &reader)=0 |
Modify incoming payload data, if appropriate. More... | |
virtual bool | acceptIncomingData (yarp::os::ConnectionReader &reader)=0 |
Determine whether incoming data should be accepted. More... | |
virtual bool | modifiesOutgoingData () const =0 |
Check if this carrier modifies outgoing data through the Carrier::modifyOutgoingData method. More... | |
virtual const PortWriter & | modifyOutgoingData (const PortWriter &writer)=0 |
Modify outgoing payload data, if appropriate. More... | |
virtual bool | acceptOutgoingData (const PortWriter &writer)=0 |
Determine whether outgoing data should be accepted. More... | |
virtual bool | modifiesReply () const =0 |
Check if this carrier modifies outgoing data through the Carrier::modifyReply method. More... | |
virtual PortReader & | modifyReply (PortReader &reader)=0 |
Modify reply payload data, if appropriate. More... | |
virtual void | setCarrierParams (const yarp::os::Property ¶ms)=0 |
Configure carrier from port administrative commands. More... | |
virtual void | getCarrierParams (yarp::os::Property ¶ms) const =0 |
Get carrier configuration and deliver it by port administrative commands. More... | |
virtual void | getHeader (yarp::os::Bytes &header) const =0 |
Provide 8 bytes describing this connection sufficiently to allow the other side of a connection to select it. More... | |
virtual void | prepareDisconnect ()=0 |
Do cleanup and preparation for the coming disconnect, if necessary. More... | |
virtual std::string | getName () const =0 |
Get the name of this connection type ("tcp", "mcast", "shmem", ...) More... | |
No documentation available.
Definition at line 16 of file HumanCarrier.h.
|
inlineoverridevirtual |
Check if reading is implemented for this carrier.
Implements yarp::os::Carrier.
Definition at line 33 of file HumanCarrier.h.
|
inlineoverridevirtual |
Check if carrier can encode administrative messages, as opposed to just user data.
The word escape is used in the sense of escape character or escape sequence here.
Implements yarp::os::Carrier.
Definition at line 46 of file HumanCarrier.h.
|
inlineoverridevirtual |
Check if writing is implemented for this carrier.
Implements yarp::os::Carrier.
Definition at line 37 of file HumanCarrier.h.
|
inlineoverridevirtual |
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.
header | a buffer holding the first 8 bytes received on the connection |
Implements yarp::os::Carrier.
Definition at line 73 of file HumanCarrier.h.
|
inlineoverridevirtual |
Factory method.
Get a new object of the same type as this one.
Implements yarp::os::Carrier.
Definition at line 21 of file HumanCarrier.h.
|
inlineoverridevirtual |
Receive an acknowledgement, if expected for this carrier.
proto | the protocol object, which tracks connection state |
Implements yarp::os::Carrier.
Definition at line 173 of file HumanCarrier.h.
|
inlineoverridevirtual |
Receive any carrier-specific header.
proto | the protocol object, which tracks connection state |
Implements yarp::os::Carrier.
Definition at line 108 of file HumanCarrier.h.
|
inlineoverridevirtual |
Expect a message header, if there is one for this carrier.
proto | the protocol object, which tracks connection state |
Implements yarp::os::Carrier.
Definition at line 152 of file HumanCarrier.h.
|
inlineoverridevirtual |
Process reply to header, if one is expected for this carrier.
proto | the protocol object, which tracks connection state |
Implements yarp::os::Carrier.
Definition at line 121 of file HumanCarrier.h.
|
inlineoverridevirtual |
Expect the name of the sending port.
proto | the protocol object, which tracks connection state |
Implements yarp::os::Carrier.
Definition at line 100 of file HumanCarrier.h.
|
inlineoverridevirtual |
Provide 8 bytes describing this connection sufficiently to allow the other side of a connection to select it.
header | a buffer to hold the first 8 bytes to send on a connection |
Implements yarp::os::Carrier.
Definition at line 66 of file HumanCarrier.h.
|
inlineoverridevirtual |
Get the name of this connection type ("tcp", "mcast", "shmem", ...)
Implements yarp::os::Connection.
Definition at line 25 of file HumanCarrier.h.
|
inlineoverridevirtual |
Check if carrier is alive and error free.
Implements yarp::os::Carrier.
Definition at line 129 of file HumanCarrier.h.
|
inlineoverridevirtual |
Check if this carrier is connectionless (like udp, mcast) or connection based (like tcp).
This flag is used by YARP to determine whether the connection can carry RPC traffic, that is, messages with replies. Replies are not supported by YARP on connectionless carriers.
Implements yarp::os::Carrier.
Definition at line 29 of file HumanCarrier.h.
|
inlineoverridevirtual |
Check if carrier operates within a single process.
In such a case, YARP connections may get completely reorganized in order to optimize them.
Implements yarp::os::Carrier.
Definition at line 58 of file HumanCarrier.h.
|
inlineoverridevirtual |
Check if carrier is textual in nature.
Implements yarp::os::Carrier.
Definition at line 41 of file HumanCarrier.h.
|
inlineoverridevirtual |
Perform any initialization needed before writing on a connection.
proto | the protocol object, which tracks connection state |
Implements yarp::os::Carrier.
Definition at line 93 of file HumanCarrier.h.
|
inlineoverridevirtual |
Check if carrier has flow control, requiring sent messages to be acknowledged by recipient.
Implements yarp::os::Carrier.
Definition at line 50 of file HumanCarrier.h.
|
inlineoverridevirtual |
Respond to the header.
proto | the protocol object, which tracks connection state |
Implements yarp::os::Carrier.
Definition at line 113 of file HumanCarrier.h.
|
inlineoverridevirtual |
Send an acknowledgement, if needed for this carrier.
proto | the protocol object, which tracks connection state |
Implements yarp::os::Carrier.
Definition at line 166 of file HumanCarrier.h.
|
overridevirtual |
Write a header appropriate to the carrier to the connection, followed by any carrier-specific data.
Must communicate at least the name of the originating port, if there is one.
proto | the protocol object, which tracks connection state |
Implements yarp::os::Carrier.
Definition at line 10 of file HumanCarrier.cpp.
|
inlinevirtual |
Definition at line 145 of file HumanCarrier.h.
|
inlineoverridevirtual |
Configure this carrier based on the first 8 bytes of the connection.
This will only be called if checkHeader passed.
header | a buffer holding the first 8 bytes received on the connection |
Implements yarp::os::Carrier.
Definition at line 86 of file HumanCarrier.h.
|
inlineoverridevirtual |
This flag is used by YARP to determine whether the connection can carry RPC traffic, that is, messages with replies.
Implements yarp::os::Carrier.
Definition at line 54 of file HumanCarrier.h.
|
inlineoverridevirtual |
Get name of carrier.
Implements yarp::os::Carrier.
Definition at line 62 of file HumanCarrier.h.
|
inlineoverridevirtual |
Write a message.
proto | the protocol object, which tracks connection state |
Implements yarp::os::Carrier.
Definition at line 136 of file HumanCarrier.h.