YARP  2.3.68+225-20170329.5+gitb0d3289
Yet Another Robot Platform
yarp::os::RpcClient Class Reference

A port that is specialized as an RPC client. More...

#include <yarp/os/RpcClient.h>

+ Inheritance diagram for yarp::os::RpcClient:

Public Member Functions

 RpcClient ()
 Constructor. More...
 
virtual ~RpcClient ()
 Destructor. More...
 
virtual bool read (PortReader &reader, bool willReply=false)
 Read an object from the port. More...
 
virtual bool reply (PortWriter &writer)
 Send an object as a reply to an object read from the port. More...
 
virtual bool replyAndDrop (PortWriter &writer)
 Same as reply(), but closes connection after reply. More...
 
void setInputMode (bool expectInput)
 Configure the port to allow or forbid inputs. More...
 
void setOutputMode (bool expectOutput)
 Configure the port to allow or forbid outputs. More...
 
void setRpcMode (bool expectRpc)
 Configure the port to be RPC only. More...
 
virtual PortasPort ()
 get the concrete Port being used for communication More...
 
virtual const PortasPort () const
 get the concrete Port being used for communication, constant version More...
 
- Public Member Functions inherited from yarp::os::AbstractContactable
virtual bool open (const ConstString &name)
 Start port operation, with a specific name, with automatically-chosen network parameters. More...
 
virtual bool open (const Contact &contact, bool registerName=true)
 Start port operation with user-chosen network parameters. More...
 
virtual bool addOutput (const ConstString &name)
 Add an output connection to the specified port. More...
 
virtual bool addOutput (const ConstString &name, const ConstString &carrier)
 Add an output connection to the specified port, using a specified carrier. More...
 
virtual bool addOutput (const Contact &contact)
 Add an output connection to the specified port, using specified network parameters. More...
 
virtual void close ()
 Stop port activity. More...
 
virtual void interrupt ()
 Interrupt any current reads or writes attached to the port. More...
 
virtual void resume ()
 Put the port back in an operative state after interrupt() has been called. More...
 
virtual Contact where () const
 Returns information about how this port can be reached. More...
 
virtual ConstString getName () const
 Get name of port. More...
 
virtual bool setEnvelope (PortWriter &envelope)
 Set an envelope (e.g., a timestamp) to the next message which will be sent. More...
 
virtual bool getEnvelope (PortReader &envelope)
 Get the envelope information (e.g., a timestamp) from the last message received on the port. More...
 
virtual int getInputCount ()
 Determine how many connections are arriving into this port. More...
 
virtual int getOutputCount ()
 Determine how many output connections this port has. More...
 
virtual void getReport (PortReport &reporter)
 Get information on the state of the port - connections etc. More...
 
virtual void setReporter (PortReport &reporter)
 Set a callback to be called upon any future connections and disconnections to/from the port. More...
 
virtual void resetReporter ()
 Remove the callback which is called upon any future connections and disconnections to/from the port. More...
 
virtual bool isWriting ()
 Report whether the port is currently writing data. More...
 
virtual void setReader (PortReader &reader)
 Set an external reader for port data. More...
 
virtual void setAdminReader (PortReader &reader)
 Set an external reader for unrecognized administrative port messages. More...
 
virtual Type getType ()
 Get the type of data the port has committed to send/receive. More...
 
virtual void promiseType (const Type &typ)
 Commit the port to a particular type of data. More...
 
virtual PropertyacquireProperties (bool readOnly)
 Access unstructured port properties. More...
 
virtual void releaseProperties (Property *prop)
 End access unstructured port properties. More...
 
virtual bool write (PortWriter &writer, PortWriter *callback=YARP_NULLPTR) const
 Write an object to the port. More...
 
virtual bool write (PortWriter &writer, PortReader &reader, PortWriter *callback=YARP_NULLPTR) const
 Write an object to the port, then expect one back. More...
 
virtual void includeNodeInName (bool flag)
 Choose whether to prepend a node name (if one is available) to the port's name. More...
 
virtual bool setCallbackLock (yarp::os::Mutex *mutex=YARP_NULLPTR)
 Add a lock to use when invoking callbacks. More...
 
virtual bool removeCallbackLock ()
 Remove a lock on callbacks added with setCallbackLock() More...
 
virtual bool lockCallback ()
 Lock callbacks until unlockCallback() is called. More...
 
virtual bool tryLockCallback ()
 Try to lock callbacks until unlockCallback() is called. More...
 
virtual void unlockCallback ()
 Unlock callbacks. More...
 
- Public Member Functions inherited from yarp::os::Contactable
virtual ~Contactable ()
 Destructor. More...
 
bool open ()
 Start port operation, with automatically-chosen network parameters. More...
 
void setReadOnly ()
 Shorthand for setInputMode(true), setOutputMode(false), setRpcMode(false) More...
 
void setWriteOnly ()
 Shorthand for setInputMode(false), setOutputMode(true), setRpcMode(false) More...
 
void setRpcServer ()
 Shorthand for setInputMode(true), setOutputMode(false), setRpcMode(true) More...
 
void setRpcClient ()
 Shorthand for setInputMode(false), setOutputMode(true), setRpcMode(true) More...
 

Private Member Functions

 RpcClient (const RpcClient &alt)
 
const RpcClientoperator= (const RpcClient &alt)
 

Private Attributes

Port port
 

Detailed Description

A port that is specialized as an RPC client.

That is, it expects to connect to a single server, and receive replies on the same connection.

Definition at line 25 of file RpcClient.h.

Constructor & Destructor Documentation

◆ RpcClient() [1/2]

RpcClient::RpcClient ( )

Constructor.

Definition at line 14 of file RpcClient.cpp.

◆ ~RpcClient()

RpcClient::~RpcClient ( )
virtual

Destructor.

Definition at line 20 of file RpcClient.cpp.

◆ RpcClient() [2/2]

yarp::os::RpcClient::RpcClient ( const RpcClient alt)
private

Member Function Documentation

◆ asPort() [1/2]

virtual Port& yarp::os::RpcClient::asPort ( )
inlinevirtual

get the concrete Port being used for communication

Implements yarp::os::AbstractContactable.

Definition at line 54 of file RpcClient.h.

◆ asPort() [2/2]

virtual const Port& yarp::os::RpcClient::asPort ( ) const
inlinevirtual

get the concrete Port being used for communication, constant version

Implements yarp::os::AbstractContactable.

Definition at line 58 of file RpcClient.h.

◆ operator=()

const RpcClient& yarp::os::RpcClient::operator= ( const RpcClient alt)
private

◆ read()

bool RpcClient::read ( PortReader reader,
bool  willReply = false 
)
virtual

Read an object from the port.

Parameters
readerany object that knows how to read itself from a network connection - see for example Bottle
willReplyyou must set this to true if you intend to call reply()
Returns
true iff the object is successfully read

Reimplemented from yarp::os::AbstractContactable.

Definition at line 24 of file RpcClient.cpp.

◆ reply()

bool RpcClient::reply ( PortWriter writer)
virtual

Send an object as a reply to an object read from the port.

Only call this method if you set the willReply flag to true when you called Port::read.

Parameters
writerany object that knows how to write itself to a network connection - see for example Bottle
Returns
true iff the object is successfully written

Reimplemented from yarp::os::AbstractContactable.

Definition at line 29 of file RpcClient.cpp.

◆ replyAndDrop()

bool RpcClient::replyAndDrop ( PortWriter writer)
virtual

Same as reply(), but closes connection after reply.

This is useful for interoperation with XML/RPC clients that do not expect to reuse a connection.

Parameters
writerany object that knows how to write itself to a network connection - see for example Bottle
Returns
true iff the object is successfully written

Reimplemented from yarp::os::AbstractContactable.

Definition at line 33 of file RpcClient.cpp.

◆ setInputMode()

void RpcClient::setInputMode ( bool  expectInput)
virtual

Configure the port to allow or forbid inputs.

By default, ports allow anything.

Parameters
expectInputset to true if this port will be used for input

Reimplemented from yarp::os::AbstractContactable.

Definition at line 37 of file RpcClient.cpp.

◆ setOutputMode()

void RpcClient::setOutputMode ( bool  expectOutput)
virtual

Configure the port to allow or forbid outputs.

By default, ports allow anything.

Parameters
expectOutputset to true if this port will be used for output

Reimplemented from yarp::os::AbstractContactable.

Definition at line 42 of file RpcClient.cpp.

◆ setRpcMode()

void RpcClient::setRpcMode ( bool  expectRpc)
virtual

Configure the port to be RPC only.

By default all ports can be used for RPC or streaming communication.

Parameters
expectRpcset to true if this port will be used for RPC only

Reimplemented from yarp::os::AbstractContactable.

Definition at line 47 of file RpcClient.cpp.

Member Data Documentation

◆ port

Port yarp::os::RpcClient::port
private

Definition at line 64 of file RpcClient.h.


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