CARLA
 
载入中...
搜索中...
未找到
Public 类型 | Public 成员函数 | Private 成员函数 | Private 属性 | 所有成员列表
carla::streaming::detail::tcp::Server类 参考

#include <Server.h>

+ 类 carla::streaming::detail::tcp::Server 继承关系图:
+ carla::streaming::detail::tcp::Server 的协作图:

Public 类型

using endpoint = boost::asio::ip::tcp::endpoint
 
using protocol_type = endpoint::protocol_type
 

Public 成员函数

endpoint GetLocalEndpoint () const
 
bool IsSynchronousMode () const
 
template<typename FunctorT1 , typename FunctorT2 >
void Listen (FunctorT1 on_session_opened, FunctorT2 on_session_closed)
 Start listening for connections.
 
 Server (boost::asio::io_context &io_context, endpoint ep)
 
void SetSynchronousMode (bool is_synchro)
 
void SetTimeout (time_duration timeout)
 Set session time-out.
 

Private 成员函数

void OpenSession (time_duration timeout, ServerSession::callback_function_type on_session_opened, ServerSession::callback_function_type on_session_closed)
 
- Private 成员函数 继承自 carla::NonCopyable
 NonCopyable ()=default
 
 NonCopyable (const NonCopyable &)=delete
 
 NonCopyable (NonCopyable &&)=delete
 
NonCopyableoperator= (const NonCopyable &)=delete
 
NonCopyableoperator= (NonCopyable &&)=delete
 

Private 属性

boost::asio::ip::tcp::acceptor _acceptor
 
boost::asio::io_context & _io_context
 
bool _synchronous
 
std::atomic< time_duration_timeout
 

详细描述

警告
This server cannot be destructed before its io_context is stopped.

在文件 streaming/detail/tcp/Server.h26 行定义.

成员类型定义说明

◆ endpoint

using carla::streaming::detail::tcp::Server::endpoint = boost::asio::ip::tcp::endpoint

在文件 streaming/detail/tcp/Server.h29 行定义.

◆ protocol_type

在文件 streaming/detail/tcp/Server.h30 行定义.

构造及析构函数说明

◆ Server()

carla::streaming::detail::tcp::Server::Server ( boost::asio::io_context & io_context,
endpoint ep )
explicit

在文件 Server.cpp20 行定义.

成员函数说明

◆ GetLocalEndpoint()

endpoint carla::streaming::detail::tcp::Server::GetLocalEndpoint ( ) const
inline

在文件 streaming/detail/tcp/Server.h34 行定义.

引用了 _acceptor.

被这些函数引用 TEST().

+ 这是这个函数的调用关系图:

◆ IsSynchronousMode()

bool carla::streaming::detail::tcp::Server::IsSynchronousMode ( ) const
inline

在文件 streaming/detail/tcp/Server.h61 行定义.

引用了 _synchronous.

被这些函数引用 carla::streaming::detail::tcp::ServerSession::Write().

+ 这是这个函数的调用关系图:

◆ Listen()

template<typename FunctorT1 , typename FunctorT2 >
void carla::streaming::detail::tcp::Server::Listen ( FunctorT1 on_session_opened,
FunctorT2 on_session_closed )
inline

Start listening for connections.

On each new connection, on_session_opened is called, and on_session_closed when the session is closed.

在文件 streaming/detail/tcp/Server.h48 行定义.

引用了 _io_context, _timeout , 以及 OpenSession().

被这些函数引用 TEST().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ OpenSession()

void carla::streaming::detail::tcp::Server::OpenSession ( time_duration timeout,
ServerSession::callback_function_type on_session_opened,
ServerSession::callback_function_type on_session_closed )
private

在文件 Server.cpp26 行定义.

引用了 _acceptor, _io_context, carla::log_error() , 以及 OpenSession().

被这些函数引用 Listen() , 以及 OpenSession().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ SetSynchronousMode()

void carla::streaming::detail::tcp::Server::SetSynchronousMode ( bool is_synchro)
inline

在文件 streaming/detail/tcp/Server.h57 行定义.

引用了 _synchronous.

◆ SetTimeout()

void carla::streaming::detail::tcp::Server::SetTimeout ( time_duration timeout)
inline

Set session time-out.

Applies only to newly created sessions. By default the time-out is set to 10 seconds.

在文件 streaming/detail/tcp/Server.h40 行定义.

引用了 _timeout.

被这些函数引用 TEST().

+ 这是这个函数的调用关系图:

类成员变量说明

◆ _acceptor

boost::asio::ip::tcp::acceptor carla::streaming::detail::tcp::Server::_acceptor
private

在文件 streaming/detail/tcp/Server.h74 行定义.

被这些函数引用 GetLocalEndpoint() , 以及 OpenSession().

◆ _io_context

boost::asio::io_context& carla::streaming::detail::tcp::Server::_io_context
private

在文件 streaming/detail/tcp/Server.h72 行定义.

被这些函数引用 Listen() , 以及 OpenSession().

◆ _synchronous

bool carla::streaming::detail::tcp::Server::_synchronous
private

在文件 streaming/detail/tcp/Server.h78 行定义.

被这些函数引用 IsSynchronousMode() , 以及 SetSynchronousMode().

◆ _timeout

std::atomic<time_duration> carla::streaming::detail::tcp::Server::_timeout
private

在文件 streaming/detail/tcp/Server.h76 行定义.

被这些函数引用 Listen() , 以及 SetTimeout().


该类的文档由以下文件生成: