A port that is specialized as an RPC client. More...
#include <yarp/os/RpcClient.h>
Inheritance diagram for yarp::os::RpcClient: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.