VLink 2.0.0
A high-performance communication middleware
载入中...
搜索中...
未找到
client_impl.h 文件参考

Abstract base class for all transport-specific client (RPC caller) implementations. 更多...

#include <chrono>
#include <memory>
#include "./node_impl.h"
client_impl.h 的引用(Include)关系图:
此图展示该文件被哪些文件直接或间接地引用了:

浏览该文件的源代码.

 Transport-agnostic base for client (RPC caller) node implementations. 更多...

命名空间

详细描述

Abstract base class for all transport-specific client (RPC caller) implementations.

ClientImpl is the intermediate layer between the generic Client<Req,Resp> template and a concrete transport backend (e.g. DdsClientImpl, ShmClientImpl). It inherits from NodeImpl and adds method-client semantics:

  • Server-connection detection and notification via detect_connected() / update_connected().
  • Blocking wait for server availability with wait_for_connected().
  • Synchronous (blocking) RPC call via call().
Connection Detection Flow
// Transport detects server appearance or disappearance:
client_impl->update_connected();
// -> compares is_connected() against cached state
// -> notifies the condition variable
// -> fires the ConnectCallback registered via detect_connected()
注解
Concrete subclasses must implement is_connected() and call().