167 bool is_resp_type{
false};
176 std::unique_ptr<struct ClientImplHelper> helper_;
Fixed-size 128-byte buffer holder with SBO, five ownership modes and integrated codecs.
Definition: bytes.h:120
Connection-aware base class for method-model client implementations.
Definition: client_impl.h:84
void update_connected()
Notifies the base class that the underlying connection state may have changed.
ClientImpl()
Stamps the node as kClient and prepares the helper state.
~ClientImpl() override
Releases the helper state held by the base class.
void interrupt() override
Wakes blocked waiters and forwards the interrupt to NodeImpl.
virtual bool wait_for_connected(std::chrono::milliseconds timeout)
Blocks until a server becomes reachable or timeout elapses.
virtual bool is_connected() const =0
Reports whether the transport currently holds a path to a server.
virtual void detect_connected(ConnectCallback &&callback)
Registers callback to fire whenever the server presence changes.
virtual bool call(const Bytes &req_data, MsgCallback &&callback, std::chrono::milliseconds timeout)=0
Performs a synchronous round-trip with the remote server.
Copyable type-erased callable analogue of std::function with a tunable SBO and pool spill.
Definition: functional.h:131
Backbone of every transport-specific VLink node implementation.
Definition: node_impl.h:163
#define VLINK_EXPORT
Definition: macros.h:81
#define VLINK_DISALLOW_COPY_AND_ASSIGN(classname)
Deletes the copy constructor and copy-assignment operator of classname.
Definition: macros.h:174
Foundational base classes shared by every transport-backed VLink node.