YARP  2.3.70.2
Yet Another Robot Platform
yarp::os::MpiP2PCarrier Class Reference

Carrier for port communicating via MPI point-to-point send/receive. More...

#include <mpi_carrier/include/yarp/os/MpiP2PCarrier.h>

+ Inheritance diagram for yarp::os::MpiP2PCarrier:

Public Member Functions

 MpiP2PCarrier ()
 
virtual ~MpiP2PCarrier ()
 
virtual void close () override
 Close the carrier. More...
 
virtual Carriercreate () override
 Factory method. More...
 
virtual void createStream (bool sender) override
 
virtual ConstString getName () override
 Get the name of this connection type ("tcp", "mcast", "shmem", ...) More...
 
virtual bool supportReply () override
 This flag is used by YARP to determine whether the connection can carry RPC traffic, that is, messages with replies. More...
 
- Public Member Functions inherited from yarp::os::MpiCarrier
 MpiCarrier ()
 
virtual ~MpiCarrier ()
 
virtual bool isConnectionless () override
 Check if this carrier is connectionless (like udp, mcast) or connection based (like tcp). More...
 
virtual bool canEscape () override
 Check if carrier can encode administrative messages, as opposed to just user data. More...
 
virtual void getHeader (const Bytes &header) override
 Provide 8 bytes describing this connection sufficiently to allow the other side of a connection to select it. More...
 
virtual 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...
 
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 expectSenderSpecifier (ConnectionState &proto) override
 Expect the name of the sending port. More...
 
virtual bool respondToHeader (ConnectionState &proto) override
 Respond to the header. More...
 
virtual bool expectReplyToHeader (ConnectionState &proto) override
 Process reply to header, if one is expected for this carrier. More...
 
bool write (ConnectionState &proto, SizedWriter &writer) override
 Write a message. More...
 
virtual bool sendIndex (ConnectionState &proto, SizedWriter &writer) override
 
virtual bool expectIndex (ConnectionState &proto) override
 Expect a message header, if there is one for this carrier. 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...
 
- Public Member Functions inherited from yarp::os::AbstractCarrier
virtual void setParameters (const yarp::os::Bytes &header) YARP_OVERRIDE
 Configure this carrier based on the first 8 bytes of the connection. More...
 
virtual bool canAccept () YARP_OVERRIDE
 Check if reading is implemented for this carrier. More...
 
virtual bool canOffer () YARP_OVERRIDE
 Check if writing is implemented for this carrier. More...
 
virtual bool isTextMode () YARP_OVERRIDE
 Check if carrier is textual in nature. More...
 
virtual bool requireAck () YARP_OVERRIDE
 Check if carrier has flow control, requiring sent messages to be acknowledged by recipient. More...
 
virtual bool isLocal () YARP_OVERRIDE
 Check if carrier operates within a single process. More...
 
virtual ConstString toString () YARP_OVERRIDE
 Get name of carrier. More...
 
virtual bool prepareSend (ConnectionState &proto) YARP_OVERRIDE
 Perform any initialization needed before writing on a connection. More...
 
virtual bool expectExtraHeader (ConnectionState &proto) YARP_OVERRIDE
 Receive any carrier-specific header. More...
 
virtual bool isActive () YARP_OVERRIDE
 Check if carrier is alive and error free. More...
 
virtual void setCarrierParams (const yarp::os::Property &params) YARP_OVERRIDE
 Configure carrier from port administrative commands. More...
 
virtual void getCarrierParams (yarp::os::Property &params) YARP_OVERRIDE
 Get carrier configuration and deliver it by port administrative commands. 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 () YARP_OVERRIDE
 Check if this carrier uses a broadcast mechanism. More...
 
virtual void handleEnvelope (const yarp::os::ConstString &envelope) YARP_OVERRIDE
 Carriers that do not distinguish data from administrative headers (i.e. More...
 
virtual bool isPush () YARP_OVERRIDE
 Check if carrier is "push" or "pull" style. More...
 
virtual bool reply (ConnectionState &proto, SizedWriter &writer)
 
virtual void prepareDisconnect () YARP_OVERRIDE
 Do cleanup and preparation for the coming disconnect, if necessary. 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 bool modifiesIncomingData () YARP_OVERRIDE
 Check if this carrier modifies incoming data through the Carrier::modifyIncomingData method. More...
 
virtual ConnectionReadermodifyIncomingData (ConnectionReader &reader) YARP_OVERRIDE
 Modify incoming payload data, if appropriate. More...
 
virtual bool acceptIncomingData (ConnectionReader &reader) YARP_OVERRIDE
 Determine whether incoming data should be accepted. More...
 
virtual bool modifiesOutgoingData () YARP_OVERRIDE
 Check if this carrier modifies outgoing data through the Carrier::modifyOutgoingData method. More...
 
virtual PortWritermodifyOutgoingData (PortWriter &writer) YARP_OVERRIDE
 Modify outgoing payload data, if appropriate. More...
 
virtual bool modifiesReply () YARP_OVERRIDE
 Check if this carrier modifies outgoing data through the Carrier::modifyReply method. More...
 
virtual PortReadermodifyReply (PortReader &reader) YARP_OVERRIDE
 Modify reply payload data, if appropriate. More...
 
virtual bool acceptOutgoingData (PortWriter &writer) YARP_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)
 
- 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)
 
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)
 
- Protected Attributes inherited from yarp::os::MpiCarrier
MpiStreamstream
 
MpiCommcomm
 
ConstString port
 
ConstString name
 
ConstString other
 
ConstString route
 
ConstString target
 

Detailed Description

Carrier for port communicating via MPI point-to-point send/receive.

Generic communication for arbitrary topology. Allows replies.

Warning
Probably all processes terminate if one terminates without proper disconnect.
Seems to work, but still experimental.

Definition at line 29 of file MpiP2PCarrier.h.

Constructor & Destructor Documentation

◆ MpiP2PCarrier()

yarp::os::MpiP2PCarrier::MpiP2PCarrier ( )
inline

Definition at line 31 of file MpiP2PCarrier.h.

◆ ~MpiP2PCarrier()

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

Definition at line 35 of file MpiP2PCarrier.h.

Member Function Documentation

◆ close()

virtual void yarp::os::MpiP2PCarrier::close ( void  )
inlineoverridevirtual

Close the carrier.

Implements yarp::os::MpiCarrier.

Definition at line 38 of file MpiP2PCarrier.h.

◆ create()

virtual Carrier* yarp::os::MpiP2PCarrier::create ( )
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::MpiCarrier.

Definition at line 45 of file MpiP2PCarrier.h.

◆ createStream()

virtual void yarp::os::MpiP2PCarrier::createStream ( bool  sender)
inlineoverridevirtual

Implements yarp::os::MpiCarrier.

Definition at line 49 of file MpiP2PCarrier.h.

◆ getName()

virtual ConstString yarp::os::MpiP2PCarrier::getName ( )
inlineoverridevirtual

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

Returns
the name of this connection type

Implements yarp::os::MpiCarrier.

Definition at line 54 of file MpiP2PCarrier.h.

◆ supportReply()

virtual bool yarp::os::MpiP2PCarrier::supportReply ( )
inlineoverridevirtual

This flag is used by YARP to determine whether the connection can carry RPC traffic, that is, messages with replies.

Returns
true if carrier supports replies

Implements yarp::os::MpiCarrier.

Definition at line 58 of file MpiP2PCarrier.h.


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