A client that connects to a single stream. 更多...
#include <Client.h>
Public 类型 | |
using | callback_function_type = std::function<void (Buffer)> |
using | endpoint = boost::asio::ip::tcp::endpoint |
using | protocol_type = endpoint::protocol_type |
Public 成员函数 | |
Client (boost::asio::io_context &io_context, const token_type &token, callback_function_type callback) | |
void | Connect () |
stream_id_type | GetStreamId () const |
void | Stop () |
~Client () | |
Private 成员函数 | |
void | ReadData () |
void | Reconnect () |
Private 成员函数 继承自 carla::profiler::LifetimeProfiled | |
LifetimeProfiled ()=default | |
Private 成员函数 继承自 carla::NonCopyable | |
NonCopyable ()=default | |
NonCopyable (const NonCopyable &)=delete | |
NonCopyable (NonCopyable &&)=delete | |
NonCopyable & | operator= (const NonCopyable &)=delete |
NonCopyable & | operator= (NonCopyable &&)=delete |
Private 属性 | |
std::shared_ptr< BufferPool > | _buffer_pool |
callback_function_type | _callback |
boost::asio::deadline_timer | _connection_timer |
std::atomic_bool | _done {false} |
boost::asio::ip::tcp::socket | _socket |
boost::asio::io_context::strand | _strand |
const token_type | _token |
A client that connects to a single stream.
在文件 streaming/detail/tcp/Client.h 第 36 行定义.
using carla::streaming::detail::tcp::Client::callback_function_type = std::function<void (Buffer)> |
在文件 streaming/detail/tcp/Client.h 第 44 行定义.
using carla::streaming::detail::tcp::Client::endpoint = boost::asio::ip::tcp::endpoint |
在文件 streaming/detail/tcp/Client.h 第 42 行定义.
using carla::streaming::detail::tcp::Client::protocol_type = endpoint::protocol_type |
在文件 streaming/detail/tcp/Client.h 第 43 行定义.
carla::streaming::detail::tcp::Client::Client | ( | boost::asio::io_context & | io_context, |
const token_type & | token, | ||
callback_function_type | callback ) |
在文件 streaming/detail/tcp/Client.cpp 第 68 行定义.
引用了 _token, carla::streaming::detail::token_type::protocol_is_tcp() , 以及 carla::throw_exception().
|
default |
void carla::streaming::detail::tcp::Client::Connect | ( | ) |
在文件 streaming/detail/tcp/Client.cpp 第 87 行定义.
引用了 _done, _socket, _strand, _token, Connect(), DEBUG_ASSERT, DEBUG_ASSERT_EQ, DEBUG_ONLY, carla::streaming::detail::token_type::get_stream_id(), carla::streaming::detail::token_type::is_valid(), carla::log_debug(), carla::log_info(), carla::streaming::detail::token_type::protocol_is_tcp(), ReadData(), Reconnect() , 以及 carla::streaming::detail::token_type::to_tcp_endpoint().
被这些函数引用 Connect(), ReadData() , 以及 Reconnect().
|
inline |
在文件 streaming/detail/tcp/Client.h 第 55 行定义.
引用了 _token , 以及 carla::streaming::detail::token_type::get_stream_id().
|
private |
在文件 streaming/detail/tcp/Client.cpp 第 166 行定义.
引用了 _buffer_pool, _done, _socket, _strand, Connect(), DEBUG_ASSERT_EQ, DEBUG_ASSERT_NE, DEBUG_ONLY, carla::log_debug() , 以及 ReadData().
被这些函数引用 Connect() , 以及 ReadData().
|
private |
在文件 streaming/detail/tcp/Client.cpp 第 156 行定义.
引用了 _connection_timer, Connect() , 以及 carla::time_duration::seconds().
被这些函数引用 Connect().
void carla::streaming::detail::tcp::Client::Stop | ( | ) |
在文件 streaming/detail/tcp/Client.cpp 第 145 行定义.
引用了 _connection_timer, _done, _socket , 以及 _strand.
|
private |
在文件 streaming/detail/tcp/Client.h 第 77 行定义.
被这些函数引用 ReadData().
|
private |
在文件 streaming/detail/tcp/Client.h 第 69 行定义.
|
private |
在文件 streaming/detail/tcp/Client.h 第 75 行定义.
被这些函数引用 Reconnect() , 以及 Stop().
|
private |
在文件 streaming/detail/tcp/Client.h 第 79 行定义.
被这些函数引用 Connect(), ReadData() , 以及 Stop().
|
private |
在文件 streaming/detail/tcp/Client.h 第 71 行定义.
被这些函数引用 Connect(), ReadData() , 以及 Stop().
|
private |
在文件 streaming/detail/tcp/Client.h 第 73 行定义.
被这些函数引用 Connect(), ReadData() , 以及 Stop().
|
private |
在文件 streaming/detail/tcp/Client.h 第 67 行定义.
被这些函数引用 Client(), Connect() , 以及 GetStreamId().