#include <ConnectionBase.hpp>
Public Member Functions | |
Base (const Info &info, std::string name) | |
void | read_data_handle (std::span< BufferElementType > read_data) |
void | close () |
void | on_fail () |
auto | get_executor () |
void | listen (this auto &&self, bool is_non_stop=false) |
void | communicate (this auto &&self, const std::vector< CommunicateEntryType > &data, uint16_t address) |
auto | send_continuous_message () -> asio::experimental::coro< int(std::optional< std::string_view >)> |
void | set_socket (std::unique_ptr< asio::ip::udp::socket > socket) |
void | set_remote_endpoint (asio::ip::udp::endpoint endpoint) |
void | set_timeout_seconds (int val) |
void | set_send_message (const RangedData auto &msg) |
auto | get_read_msg_buffer () const -> const ReadBufferType< buffer_size > & |
auto | get_name () const -> const std::string & |
auto | get_app () -> App & |
auto | get_socket () -> const udp::socket & |
auto | get_remote_endpoint () -> const udp::endpoint & |
auto | get_local_port_number () const -> int |
auto | is_continuous () const -> bool |
Protected Member Functions | |
auto | new_shared_socket (int port_number) -> std::unique_ptr< udp::socket > |
void | close_socket () |
void | set_continuous (bool is_continuous=true) |
Private Member Functions | |
void | encode_write_msg (const std::vector< CommunicateEntryType > &data, uint16_t address) |
void | reset_read_msg_buffer () |
Static Private Member Functions | |
static auto | signal_handling (SharedConnectionPtr auto connection) -> asio::awaitable< void > |
static auto | timer_countdown (auto *connection) -> asio::awaitable< void > |
static auto | listen_message (SharedConnectionPtr auto connection, bool is_non_stop=false) -> asio::awaitable< void > |
static auto | send_message (std::shared_ptr< Base > connection) -> asio::awaitable< void > |
Private Attributes | |
bool | is_continuous_ = false |
int | local_port_number_ = 0 |
std::atomic< bool > | is_socket_closed_ { false } |
uint32_t | counter_ = common::INIT_COUNT_VALUE |
std::string | name_ = "ConnectionBase" |
gsl::not_null< App * > | app_ |
std::unique_ptr< udp::socket > | socket_ |
udp::endpoint | remote_endpoint_ |
process::SerializableMsgBuffer | write_msg_buffer_ |
std::span< const char > | continuous_send_msg_ |
std::unique_ptr< asio::signal_set > | signal_set_ |
ReadBufferType< buffer_size > | read_msg_buffer_ {} |
int | timeout_seconds_ = common::DEFAULT_TIMEOUT_SECONDS |
Definition at line 18 of file ConnectionBase.hpp.
|
inlineexplicit |
Definition at line 21 of file ConnectionBase.hpp.
|
inline |
Definition at line 31 of file ConnectionBase.hpp.
|
protected |
Definition at line 259 of file ConnectionBase.hpp.
void srs::connection::Base< buffer_size >::communicate | ( | this auto && | self, |
const std::vector< CommunicateEntryType > & | data, | ||
uint16_t | address ) |
Definition at line 248 of file ConnectionBase.hpp.
|
private |
Definition at line 220 of file ConnectionBase.hpp.
|
inlinenodiscard |
Definition at line 56 of file ConnectionBase.hpp.
|
inline |
Definition at line 33 of file ConnectionBase.hpp.
|
inlinenodiscard |
Definition at line 59 of file ConnectionBase.hpp.
|
inlinenodiscard |
Definition at line 55 of file ConnectionBase.hpp.
|
inlinenodiscard |
Definition at line 51 of file ConnectionBase.hpp.
|
inline |
Definition at line 58 of file ConnectionBase.hpp.
|
inline |
Definition at line 57 of file ConnectionBase.hpp.
|
inlinenodiscard |
Definition at line 60 of file ConnectionBase.hpp.
void srs::connection::Base< buffer_size >::listen | ( | this auto && | self, |
bool | is_non_stop = false ) |
Definition at line 232 of file ConnectionBase.hpp.
|
staticprivate |
Definition at line 129 of file ConnectionBase.hpp.
|
protected |
Definition at line 207 of file ConnectionBase.hpp.
|
inline |
Definition at line 32 of file ConnectionBase.hpp.
|
inline |
Definition at line 30 of file ConnectionBase.hpp.
|
inlineprivate |
Definition at line 88 of file ConnectionBase.hpp.
auto srs::connection::Base< buffer_size >::send_continuous_message | ( | ) | -> asio::experimental::coro<int(std::optional<std::string_view>)> |
Definition at line 107 of file ConnectionBase.hpp.
|
staticprivate |
Definition at line 94 of file ConnectionBase.hpp.
|
inlineprotected |
Definition at line 65 of file ConnectionBase.hpp.
|
inline |
Definition at line 42 of file ConnectionBase.hpp.
|
inline |
Definition at line 45 of file ConnectionBase.hpp.
|
inline |
Definition at line 41 of file ConnectionBase.hpp.
|
inline |
Definition at line 43 of file ConnectionBase.hpp.
|
staticprivate |
Definition at line 188 of file ConnectionBase.hpp.
|
staticprivate |
|
private |
Definition at line 73 of file ConnectionBase.hpp.
|
private |
Definition at line 77 of file ConnectionBase.hpp.
|
private |
Definition at line 71 of file ConnectionBase.hpp.
|
private |
Definition at line 68 of file ConnectionBase.hpp.
|
private |
Definition at line 70 of file ConnectionBase.hpp.
|
private |
Definition at line 69 of file ConnectionBase.hpp.
|
private |
Definition at line 72 of file ConnectionBase.hpp.
|
private |
Definition at line 79 of file ConnectionBase.hpp.
|
private |
Definition at line 75 of file ConnectionBase.hpp.
|
private |
Definition at line 78 of file ConnectionBase.hpp.
|
private |
Definition at line 74 of file ConnectionBase.hpp.
|
private |
Definition at line 80 of file ConnectionBase.hpp.
|
private |
Definition at line 76 of file ConnectionBase.hpp.