|
unilink
0.4.3
A simple C++ library for unified async communication
|
Modernized Builder for TcpClient. More...
#include <tcp_client_builder.hpp>
Public Member Functions | |
| TcpClientBuilder (const std::string &host, uint16_t port) | |
| TcpClientBuilder (const TcpClientBuilder &)=delete | |
| TcpClientBuilder & | operator= (const TcpClientBuilder &)=delete |
| TcpClientBuilder (TcpClientBuilder &&)=default | |
| TcpClientBuilder & | operator= (TcpClientBuilder &&)=default |
| std::unique_ptr< wrapper::TcpClient > | build () override |
| Build and return the configured product. More... | |
| TcpClientBuilder & | auto_manage (bool auto_manage=true) override |
| Enable auto-manage functionality. More... | |
| TcpClientBuilder & | on_data (std::function< void(const wrapper::MessageContext &)> handler) override |
| Set data handler callback. More... | |
| TcpClientBuilder & | on_connect (std::function< void(const wrapper::ConnectionContext &)> handler) override |
| Set connection handler callback. More... | |
| TcpClientBuilder & | on_disconnect (std::function< void(const wrapper::ConnectionContext &)> handler) override |
| Set disconnection handler callback. More... | |
| TcpClientBuilder & | on_error (std::function< void(const wrapper::ErrorContext &)> handler) override |
| Set error handler callback. More... | |
| TcpClientBuilder & | retry_interval (uint32_t milliseconds) |
| Set connection retry interval. More... | |
| TcpClientBuilder & | max_retries (int max_retries) |
| Set maximum connection retries (-1 for unlimited) More... | |
| TcpClientBuilder & | connection_timeout (uint32_t milliseconds) |
| Set connection timeout. More... | |
| TcpClientBuilder & | use_independent_context (bool use_independent=true) |
| Use independent IoContext for this client. More... | |
Public Member Functions inherited from unilink::builder::BuilderInterface< wrapper::TcpClient, TcpClientBuilder > | |
| virtual | ~BuilderInterface ()=default |
| BuilderInterface ()=default | |
| BuilderInterface (const BuilderInterface &)=default | |
| BuilderInterface (BuilderInterface &&)=default | |
| BuilderInterface & | operator= (const BuilderInterface &)=default |
| BuilderInterface & | operator= (BuilderInterface &&)=default |
| TcpClientBuilder & | on_data (U *obj, F method) |
| Set data handler callback using member function pointer. More... | |
| TcpClientBuilder & | on_connect (U *obj, F method) |
| Set connection handler callback using member function pointer. More... | |
| TcpClientBuilder & | on_disconnect (U *obj, F method) |
| Set disconnection handler callback using member function pointer. More... | |
| TcpClientBuilder & | on_error (U *obj, F method) |
| Set error handler callback using member function pointer. More... | |
| TcpClientBuilder & | use_line_framer (std::string_view delimiter="\n", bool include_delimiter=false, size_t max_length=65536) |
| Use LineFramer for message segmentation (e.g., newline delimited) More... | |
| TcpClientBuilder & | use_packet_framer (const std::vector< uint8_t > &start_pattern, const std::vector< uint8_t > &end_pattern, size_t max_length) |
| Use PacketFramer for message segmentation (binary pattern matching) More... | |
| TcpClientBuilder & | on_message (std::function< void(memory::ConstByteSpan)> handler) |
| Set message handler callback (for framed messages) More... | |
| TcpClientBuilder & | on_message (U *obj, F method) |
| Set message handler callback using member function pointer. More... | |
Additional Inherited Members | |
Protected Attributes inherited from unilink::builder::BuilderInterface< wrapper::TcpClient, TcpClientBuilder > | |
| std::unique_ptr< framer::IFramer > | framer_ |
| std::function< void(memory::ConstByteSpan)> | on_message_ |
Modernized Builder for TcpClient.
Definition at line 37 of file tcp_client_builder.hpp.
| unilink::builder::TcpClientBuilder::TcpClientBuilder | ( | const std::string & | host, |
| uint16_t | port | ||
| ) |
Definition at line 27 of file tcp_client_builder.cc.
|
delete |
|
default |
|
overridevirtual |
Enable auto-manage functionality.
| auto_manage | Whether to automatically manage the wrapper lifecycle |
Implements unilink::builder::BuilderInterface< wrapper::TcpClient, TcpClientBuilder >.
Definition at line 67 of file tcp_client_builder.cc.
|
overridevirtual |
Build and return the configured product.
Implements unilink::builder::BuilderInterface< wrapper::TcpClient, TcpClientBuilder >.
Definition at line 42 of file tcp_client_builder.cc.
| TcpClientBuilder & unilink::builder::TcpClientBuilder::connection_timeout | ( | uint32_t | milliseconds | ) |
Set connection timeout.
Definition at line 102 of file tcp_client_builder.cc.
| TcpClientBuilder & unilink::builder::TcpClientBuilder::max_retries | ( | int | max_retries | ) |
Set maximum connection retries (-1 for unlimited)
Definition at line 97 of file tcp_client_builder.cc.
|
overridevirtual |
Set connection handler callback.
| handler | Function to handle connection events with context |
Implements unilink::builder::BuilderInterface< wrapper::TcpClient, TcpClientBuilder >.
Definition at line 77 of file tcp_client_builder.cc.
|
overridevirtual |
Set data handler callback.
| handler | Function to handle incoming data with context |
Implements unilink::builder::BuilderInterface< wrapper::TcpClient, TcpClientBuilder >.
Definition at line 72 of file tcp_client_builder.cc.
|
overridevirtual |
Set disconnection handler callback.
| handler | Function to handle disconnection events with context |
Implements unilink::builder::BuilderInterface< wrapper::TcpClient, TcpClientBuilder >.
Definition at line 82 of file tcp_client_builder.cc.
|
overridevirtual |
Set error handler callback.
| handler | Function to handle error events with context |
Implements unilink::builder::BuilderInterface< wrapper::TcpClient, TcpClientBuilder >.
Definition at line 87 of file tcp_client_builder.cc.
|
delete |
|
default |
| TcpClientBuilder & unilink::builder::TcpClientBuilder::retry_interval | ( | uint32_t | milliseconds | ) |
Set connection retry interval.
Definition at line 92 of file tcp_client_builder.cc.
| TcpClientBuilder & unilink::builder::TcpClientBuilder::use_independent_context | ( | bool | use_independent = true | ) |
Use independent IoContext for this client.
Definition at line 107 of file tcp_client_builder.cc.