Serializes a stream endpoint. More...
#include <Token.h>
Public Member Functions | |
bool | address_is_v4 () const |
bool | address_is_v6 () const |
boost::asio::ip::address | get_address () const |
auto | get_port () const |
const auto & | get_stream_id () const |
bool | has_address () const |
template<typename Protocol > | |
bool | has_same_protocol (const boost::asio::ip::basic_endpoint< Protocol > &) const |
bool | is_valid () const |
operator Token () const | |
bool | protocol_is_tcp () const |
bool | protocol_is_udp () const |
void | set_address (const boost::asio::ip::address &addr) |
void | set_stream_id (stream_id_type id) |
boost::asio::ip::tcp::endpoint | to_tcp_endpoint () const |
boost::asio::ip::udp::endpoint | to_udp_endpoint () const |
template<typename Protocol > | |
token_type (stream_id_type stream_id, const EndPoint< Protocol, FullyDefinedEndPoint > &ep) | |
template<typename Protocol > | |
token_type (stream_id_type stream_id, EndPoint< Protocol, PartiallyDefinedEndPoint > ep) | |
token_type ()=default | |
token_type (const token_type &)=default | |
token_type (const Token &rhs) | |
token_type (token_data data) | |
Private Member Functions | |
template<typename P > | |
boost::asio::ip::basic_endpoint< P > | get_endpoint () const |
Static Private Member Functions | |
template<typename P > | |
static constexpr auto | get_protocol () |
Private Attributes | |
token_data | _token |
Friends | |
class | Dispatcher |
Serializes a stream endpoint.
Contains all the necessary information for a client to subscribe to a stream.
Definition at line 61 of file detail/Token.h.
|
inlineexplicit |
Definition at line 84 of file detail/Token.h.
References carla::streaming::detail::EndPoint< Protocol, FullyDefinedEndPoint >::address(), carla::streaming::detail::EndPoint< Protocol, FullyDefinedEndPoint >::port(), and carla::streaming::detail::token_data::stream_id.
|
inlineexplicit |
Definition at line 94 of file detail/Token.h.
References carla::streaming::detail::EndPoint< Protocol, PartiallyDefinedEndPoint >::port(), and carla::streaming::detail::token_data::stream_id.
|
default |
|
default |
carla::streaming::detail::token_type::token_type | ( | const Token & | rhs | ) |
Definition at line 30 of file Token.cpp.
References _token, and carla::streaming::Token::data.
|
inlineexplicit |
Definition at line 108 of file detail/Token.h.
|
inline |
Definition at line 142 of file detail/Token.h.
References carla::streaming::detail::token_data::ip_v4.
|
inline |
Definition at line 146 of file detail/Token.h.
References carla::streaming::detail::token_data::ip_v6.
boost::asio::ip::address carla::streaming::detail::token_type::get_address | ( | ) | const |
Definition at line 40 of file Token.cpp.
References _token, carla::streaming::detail::token_data::address_type, and carla::streaming::detail::token_data::ip_v4.
|
inlineprivate |
Definition at line 75 of file detail/Token.h.
References DEBUG_ASSERT.
|
inline |
Definition at line 132 of file detail/Token.h.
Referenced by carla::streaming::detail::Dispatcher::GetToken(), and carla::multigpu::PrimaryCommands::SendGetToken().
|
inlinestaticprivate |
Definition at line 65 of file detail/Token.h.
References carla::streaming::detail::token_data::tcp, and carla::streaming::detail::token_data::udp.
|
inline |
Definition at line 116 of file detail/Token.h.
Referenced by carla::streaming::detail::tcp::Client::Connect(), carla::streaming::detail::tcp::Client::GetStreamId(), carla::streaming::detail::Dispatcher::GetToken(), carla::streaming::detail::Dispatcher::MakeStream(), carla::multigpu::PrimaryCommands::SendGetToken(), carla::streaming::low_level::Client< detail::tcp::Client >::Subscribe(), carla::client::detail::Client::SubscribeToStream(), and carla::streaming::low_level::Client< detail::tcp::Client >::UnSubscribe().
|
inline |
Definition at line 124 of file detail/Token.h.
References carla::streaming::detail::token_data::not_set.
Referenced by carla::streaming::low_level::Client< detail::tcp::Client >::Subscribe().
|
inline |
Definition at line 159 of file detail/Token.h.
|
inline |
Definition at line 136 of file detail/Token.h.
References carla::streaming::detail::token_data::not_set.
Referenced by carla::streaming::detail::tcp::Client::Connect().
carla::streaming::detail::token_type::operator Token | ( | ) | const |
Definition at line 34 of file Token.cpp.
References _token, and carla::streaming::Token::data.
|
inline |
Definition at line 154 of file detail/Token.h.
References carla::streaming::detail::token_data::tcp.
Referenced by carla::streaming::detail::tcp::Client::Client(), and carla::streaming::detail::tcp::Client::Connect().
|
inline |
Definition at line 150 of file detail/Token.h.
References carla::streaming::detail::token_data::udp.
void carla::streaming::detail::token_type::set_address | ( | const boost::asio::ip::address & | addr | ) |
Definition at line 18 of file Token.cpp.
References _token, carla::streaming::detail::token_data::address_type, carla::streaming::detail::token_data::ip_v4, carla::streaming::detail::token_data::ip_v6, and carla::throw_exception().
Referenced by carla::streaming::low_level::Client< detail::tcp::Client >::Subscribe().
|
inline |
Definition at line 120 of file detail/Token.h.
Referenced by carla::streaming::detail::Dispatcher::GetToken().
|
inline |
Definition at line 167 of file detail/Token.h.
Referenced by carla::streaming::detail::tcp::Client::Connect().
|
inline |
Definition at line 163 of file detail/Token.h.
|
friend |
Definition at line 173 of file detail/Token.h.
|
private |
Definition at line 175 of file detail/Token.h.
Referenced by get_address(), carla::streaming::detail::Dispatcher::MakeStream(), operator Token(), set_address(), and token_type().