A port that is specialized as an RPC client. More...
#include <yarp/os/RpcClient.h>
Classes | |
class | Private |
Public Member Functions | |
RpcClient () | |
Constructor. More... | |
~RpcClient () override | |
Destructor. More... | |
RpcClient (const RpcClient &alt)=delete | |
const RpcClient & | operator= (const RpcClient &alt)=delete |
bool | read (PortReader &reader, bool willReply=false) override |
Read an object from the port. More... | |
bool | reply (PortWriter &writer) override |
Send an object as a reply to an object read from the port. More... | |
bool | replyAndDrop (PortWriter &writer) override |
Same as reply(), but closes connection after reply. More... | |
void | setInputMode (bool expectInput) override |
Configure the port to allow or forbid inputs. More... | |
void | setOutputMode (bool expectOutput) override |
Configure the port to allow or forbid outputs. More... | |
void | setRpcMode (bool expectRpc) override |
Configure the port to be RPC only. More... | |
Port & | asPort () override |
Get the concrete Port being used for communication. More... | |
const Port & | asPort () const override |
Get the concrete Port being used for communication, const version. More... | |
Public Member Functions inherited from yarp::os::AbstractContactable | |
bool | open (const std::string &name) override |
Start port operation, with a specific name, with automatically-chosen network parameters. More... | |
bool | open (const Contact &contact, bool registerName=true) override |
Start port operation with user-chosen network parameters. More... | |
bool | addOutput (const std::string &name) override |
Add an output connection to the specified port. More... | |
bool | addOutput (const std::string &name, const std::string &carrier) override |
Add an output connection to the specified port, using a specified carrier. More... | |
bool | addOutput (const Contact &contact) override |
Add an output connection to the specified port, using specified network parameters. More... | |
void | close () override |
Stop port activity. More... | |
void | interrupt () override |
Interrupt any current reads or writes attached to the port. More... | |
void | resume () override |
Put the port back in an operative state after interrupt() has been called. More... | |
Contact | where () const override |
Returns information about how this port can be reached. More... | |
std::string | getName () const override |
Get name of port. More... | |
bool | setEnvelope (PortWriter &envelope) override |
Set an envelope (e.g., a timestamp) to the next message which will be sent. More... | |
bool | getEnvelope (PortReader &envelope) override |
Get the envelope information (e.g., a timestamp) from the last message received on the port. More... | |
int | getInputCount () override |
Determine how many connections are arriving into this port. More... | |
int | getOutputCount () override |
Determine how many output connections this port has. More... | |
void | getReport (PortReport &reporter) override |
Get information on the state of the port - connections etc. More... | |
void | setReporter (PortReport &reporter) override |
Set a callback to be called upon any future connections and disconnections to/from the port. More... | |
void | resetReporter () override |
Remove the callback which is called upon any future connections and disconnections to/from the port. More... | |
bool | isWriting () override |
Report whether the port is currently writing data. More... | |
void | setReader (PortReader &reader) override |
Set an external reader for port data. More... | |
void | setAdminReader (PortReader &reader) override |
Set an external reader for unrecognized administrative port messages. More... | |
Type | getType () override |
Get the type of data the port has committed to send/receive. More... | |
void | promiseType (const Type &typ) override |
Commit the port to a particular type of data. More... | |
Property * | acquireProperties (bool readOnly) override |
Access unstructured port properties. More... | |
void | releaseProperties (Property *prop) override |
End access unstructured port properties. More... | |
bool | write (const PortWriter &writer, const PortWriter *callback=nullptr) const override |
Write an object to the port. More... | |
bool | write (const PortWriter &writer, PortReader &reader, const PortWriter *callback=nullptr) const override |
Write an object to the port, then expect one back. More... | |
void | includeNodeInName (bool flag) override |
Choose whether to prepend a node name (if one is available) to the port's name. More... | |
bool | setCallbackLock (yarp::os::Mutex *mutex) override |
Add a lock to use when invoking callbacks. More... | |
bool | setCallbackLock (std::mutex *mutex=nullptr) override |
Add a lock to use when invoking callbacks. More... | |
bool | removeCallbackLock () override |
Remove a lock on callbacks added with setCallbackLock() More... | |
bool | lockCallback () override |
Lock callbacks until unlockCallback() is called. More... | |
bool | tryLockCallback () override |
Try to lock callbacks until unlockCallback() is called. More... | |
void | unlockCallback () override |
Unlock callbacks. More... | |
Public Member Functions inherited from yarp::os::Contactable | |
virtual | ~Contactable () |
Destructor. 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... | |
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.
RpcClient::RpcClient | ( | ) |
Constructor.
Definition at line 29 of file RpcClient.cpp.
|
override |
Destructor.
Definition at line 37 of file RpcClient.cpp.
|
delete |
|
overridevirtual |
Get the concrete Port being used for communication, const version.
Implements yarp::os::AbstractContactable.
Definition at line 85 of file RpcClient.cpp.
|
overridevirtual |
Get the concrete Port being used for communication.
Implements yarp::os::AbstractContactable.
Definition at line 80 of file RpcClient.cpp.
|
overridevirtual |
Read an object from the port.
reader | any object that knows how to read itself from a network connection - see for example Bottle |
willReply | you must set this to true if you intend to call reply() |
Reimplemented from yarp::os::AbstractContactable.
Definition at line 43 of file RpcClient.cpp.
|
overridevirtual |
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.
writer | any object that knows how to write itself to a network connection - see for example Bottle |
Reimplemented from yarp::os::AbstractContactable.
Definition at line 53 of file RpcClient.cpp.
|
overridevirtual |
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.
writer | any object that knows how to write itself to a network connection - see for example Bottle |
Reimplemented from yarp::os::AbstractContactable.
Definition at line 59 of file RpcClient.cpp.
|
overridevirtual |
Configure the port to allow or forbid inputs.
By default, ports allow anything.
expectInput | set to true if this port will be used for input |
Reimplemented from yarp::os::AbstractContactable.
Definition at line 65 of file RpcClient.cpp.
|
overridevirtual |
Configure the port to allow or forbid outputs.
By default, ports allow anything.
expectOutput | set to true if this port will be used for output |
Reimplemented from yarp::os::AbstractContactable.
Definition at line 70 of file RpcClient.cpp.
|
overridevirtual |
Configure the port to be RPC only.
By default all ports can be used for RPC or streaming communication.
expectRpc | set to true if this port will be used for RPC only |
Reimplemented from yarp::os::AbstractContactable.
Definition at line 75 of file RpcClient.cpp.