|
Robot Raconteur Core C++ Library
|
Base class for PipeEndpoint. More...
#include <PipeMember.h>
Public Member Functions | |
| virtual int32_t | GetIndex () |
| Returns the pipe endpoint index used when endpoint connected. | |
| virtual uint32_t | GetEndpoint () |
| Returns the Robot Raconteur node Endpoint ID. | |
| bool | GetRequestPacketAck () |
| Get if pipe endpoint is requesting acks. | |
| void | SetRequestPacketAck (bool ack) |
| Set if pipe endpoint should request packet acks. | |
| virtual void | Close () |
| Close the pipe endpoint. | |
| virtual void | AsyncClose (boost::function< void(const boost::shared_ptr< RobotRaconteurException > &)> handler, int32_t timeout=RR_TIMEOUT_INFINITE) |
| Asynchronously close the pipe endpoint. | |
| virtual size_t | Available () |
| Return number of packets in the receive queue. | |
| bool | IsUnreliable () |
| Get if pipe endpoint is unreliable. | |
| MemberDefinition_Direction | Direction () |
| The direction of the pipe. | |
| bool | GetIgnoreReceived () |
| Get if pipe endpoint is ignoring incoming packets. | |
| void | SetIgnoreReceived (bool ignore) |
| Set whether pipe endpoint should ignore incoming packets. | |
Base class for PipeEndpoint.
Base class for templated PipeEndpoint
|
virtual |
Asynchronously close the pipe endpoint.
Same as Close() but returns asynchronously
| handler | A handler function to call on completion, possibly with an exception |
| timeout | Timeout in milliseconds, or RR_TIMEOUT_INFINITE for no timeout |
Reimplemented in RobotRaconteur::PipeEndpoint< T >.
|
virtual |
Return number of packets in the receive queue.
Invalid for writeonly pipes.
|
virtual |
Close the pipe endpoint.
Close the pipe endpoint. Blocks until close complete. The peer endpoint is destroyed automatically.
Reimplemented in RobotRaconteur::PipeEndpoint< T >.
| MemberDefinition_Direction RobotRaconteur::PipeEndpointBase::Direction | ( | ) |
The direction of the pipe.
Pipes may be declared readonly or writeonly in the service definition file. (If neither is specified, the pipe is assumed to be full duplex.) readonly pipes may only send packets from service to client. writeonly pipes may only send packets from client to service.
|
virtual |
Returns the Robot Raconteur node Endpoint ID.
Returns the endpoint associated with the ClientContext or ServerEndpoint associated with the pipe endpoint.
| bool RobotRaconteur::PipeEndpointBase::GetIgnoreReceived | ( | ) |
|
virtual |
Returns the pipe endpoint index used when endpoint connected.
| bool RobotRaconteur::PipeEndpointBase::GetRequestPacketAck | ( | ) |
Get if pipe endpoint is requesting acks.
| bool RobotRaconteur::PipeEndpointBase::IsUnreliable | ( | ) |
Get if pipe endpoint is unreliable.
Pipe members may be declared as unreliable using member modifiers in the service definition. Pipes confirm unreliable operation when pipe endpoints are connected.
| void RobotRaconteur::PipeEndpointBase::SetIgnoreReceived | ( | bool | ignore | ) |
Set whether pipe endpoint should ignore incoming packets.
Pipe endpoints may optionally desire to ignore incoming data. This is useful if the endpoint is only being used to send packets, and received packets may create a potential memory leak if they are not being removed from the queue. If ignore is true, incoming packets will be discarded and will not be added to the receive queue.
| ignore | If true, incoming packets are ignored. If false, the packets are added to the receive queue. |
| void RobotRaconteur::PipeEndpointBase::SetRequestPacketAck | ( | bool | ack | ) |
Set if pipe endpoint should request packet acks.
Packet acks are generated by receiving endpoints to inform the sender that a packet has been received. The ack contains the packet index, the sequence number of the packet. Packet acks are used for flow control by PipeBroadcaster.
| ack | true to request packet acks, otherwise false |