12#include <boost/asio/io_context.hpp>
15#include <unordered_map>
34 explicit Client(boost::asio::ip::address fallback_address)
37 explicit Client(
const std::string &fallback_address)
51 template <
typename Functor>
53 boost::asio::io_context &io_context,
60 auto client = std::make_shared<underlying_client>(
63 std::forward<Functor>(callback));
69 log_debug(
"calling sensor UnSubscribe()");
#define DEBUG_ASSERT_EQ(lhs, rhs)
静态断言,用于确保token_data结构体的大小与Token::data的大小相同。
const auto & get_stream_id() const
获取流ID的引用。
void set_address(const boost::asio::ip::address &addr)
设置地址。
bool has_address() const
检查是否已设置地址。
A client able to subscribe to multiple streams.
std::unordered_map< detail::stream_id_type, std::shared_ptr< underlying_client > > _clients
void Subscribe(boost::asio::io_context &io_context, token_type token, Functor &&callback)
typename underlying_client::protocol_type protocol_type
boost::asio::ip::address _fallback_address
Client(boost::asio::ip::address fallback_address)
Client(const std::string &fallback_address)
void UnSubscribe(token_type token)
包含CARLA流处理相关头文件和Boost.Asio网络库头文件。 包含CARLA的调试功能相关定义。 包含CARLA流处理的端点(EndPoint)类定义。 包含CARLA流处理的令牌(Token)类...
uint32_t stream_id_type
流ID的类型定义。
static auto make_address(const std::string &address)
static auto make_localhost_address()
static void log_debug(Args &&... args)