unilink  0.4.3
A simple C++ library for unified async communication
unilink::builder::TcpClientBuilder Class Reference

Modernized Builder for TcpClient. More...

#include <tcp_client_builder.hpp>

Inheritance diagram for unilink::builder::TcpClientBuilder:
unilink::builder::BuilderInterface< wrapper::TcpClient, TcpClientBuilder >

Public Member Functions

 TcpClientBuilder (const std::string &host, uint16_t port)
 
 TcpClientBuilder (const TcpClientBuilder &)=delete
 
TcpClientBuilderoperator= (const TcpClientBuilder &)=delete
 
 TcpClientBuilder (TcpClientBuilder &&)=default
 
TcpClientBuilderoperator= (TcpClientBuilder &&)=default
 
std::unique_ptr< wrapper::TcpClientbuild () override
 Build and return the configured product. More...
 
TcpClientBuilderauto_manage (bool auto_manage=true) override
 Enable auto-manage functionality. More...
 
TcpClientBuilderon_data (std::function< void(const wrapper::MessageContext &)> handler) override
 Set data handler callback. More...
 
TcpClientBuilderon_connect (std::function< void(const wrapper::ConnectionContext &)> handler) override
 Set connection handler callback. More...
 
TcpClientBuilderon_disconnect (std::function< void(const wrapper::ConnectionContext &)> handler) override
 Set disconnection handler callback. More...
 
TcpClientBuilderon_error (std::function< void(const wrapper::ErrorContext &)> handler) override
 Set error handler callback. More...
 
TcpClientBuilderretry_interval (uint32_t milliseconds)
 Set connection retry interval. More...
 
TcpClientBuildermax_retries (int max_retries)
 Set maximum connection retries (-1 for unlimited) More...
 
TcpClientBuilderconnection_timeout (uint32_t milliseconds)
 Set connection timeout. More...
 
TcpClientBuilderuse_independent_context (bool use_independent=true)
 Use independent IoContext for this client. More...
 

Additional Inherited Members

Detailed Description

Modernized Builder for TcpClient.

Definition at line 37 of file tcp_client_builder.hpp.

Constructor & Destructor Documentation

◆ TcpClientBuilder() [1/3]

unilink::builder::TcpClientBuilder::TcpClientBuilder ( const std::string &  host,
uint16_t  port 
)

Definition at line 27 of file tcp_client_builder.cc.

◆ TcpClientBuilder() [2/3]

unilink::builder::TcpClientBuilder::TcpClientBuilder ( const TcpClientBuilder )
delete

◆ TcpClientBuilder() [3/3]

unilink::builder::TcpClientBuilder::TcpClientBuilder ( TcpClientBuilder &&  )
default

Member Function Documentation

◆ auto_manage()

TcpClientBuilder & unilink::builder::TcpClientBuilder::auto_manage ( bool  auto_manage = true)
overridevirtual

Enable auto-manage functionality.

Parameters
auto_manageWhether to automatically manage the wrapper lifecycle
Returns
Derived& Reference to this builder for method chaining

Implements unilink::builder::BuilderInterface< wrapper::TcpClient, TcpClientBuilder >.

Definition at line 67 of file tcp_client_builder.cc.

◆ build()

std::unique_ptr< wrapper::TcpClient > unilink::builder::TcpClientBuilder::build ( )
overridevirtual

Build and return the configured product.

Returns
std::unique_ptr<T> The configured wrapper instance

Implements unilink::builder::BuilderInterface< wrapper::TcpClient, TcpClientBuilder >.

Definition at line 42 of file tcp_client_builder.cc.

◆ connection_timeout()

TcpClientBuilder & unilink::builder::TcpClientBuilder::connection_timeout ( uint32_t  milliseconds)

Set connection timeout.

Definition at line 102 of file tcp_client_builder.cc.

◆ max_retries()

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.

◆ on_connect()

TcpClientBuilder & unilink::builder::TcpClientBuilder::on_connect ( std::function< void(const wrapper::ConnectionContext &)>  handler)
overridevirtual

Set connection handler callback.

Parameters
handlerFunction to handle connection events with context
Returns
Derived& Reference to this builder for method chaining

Implements unilink::builder::BuilderInterface< wrapper::TcpClient, TcpClientBuilder >.

Definition at line 77 of file tcp_client_builder.cc.

◆ on_data()

TcpClientBuilder & unilink::builder::TcpClientBuilder::on_data ( std::function< void(const wrapper::MessageContext &)>  handler)
overridevirtual

Set data handler callback.

Parameters
handlerFunction to handle incoming data with context
Returns
Derived& Reference to this builder for method chaining

Implements unilink::builder::BuilderInterface< wrapper::TcpClient, TcpClientBuilder >.

Definition at line 72 of file tcp_client_builder.cc.

◆ on_disconnect()

TcpClientBuilder & unilink::builder::TcpClientBuilder::on_disconnect ( std::function< void(const wrapper::ConnectionContext &)>  handler)
overridevirtual

Set disconnection handler callback.

Parameters
handlerFunction to handle disconnection events with context
Returns
Derived& Reference to this builder for method chaining

Implements unilink::builder::BuilderInterface< wrapper::TcpClient, TcpClientBuilder >.

Definition at line 82 of file tcp_client_builder.cc.

◆ on_error()

TcpClientBuilder & unilink::builder::TcpClientBuilder::on_error ( std::function< void(const wrapper::ErrorContext &)>  handler)
overridevirtual

Set error handler callback.

Parameters
handlerFunction to handle error events with context
Returns
Derived& Reference to this builder for method chaining

Implements unilink::builder::BuilderInterface< wrapper::TcpClient, TcpClientBuilder >.

Definition at line 87 of file tcp_client_builder.cc.

◆ operator=() [1/2]

TcpClientBuilder& unilink::builder::TcpClientBuilder::operator= ( const TcpClientBuilder )
delete

◆ operator=() [2/2]

TcpClientBuilder& unilink::builder::TcpClientBuilder::operator= ( TcpClientBuilder &&  )
default

◆ retry_interval()

TcpClientBuilder & unilink::builder::TcpClientBuilder::retry_interval ( uint32_t  milliseconds)

Set connection retry interval.

Definition at line 92 of file tcp_client_builder.cc.

◆ use_independent_context()

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.


The documentation for this class was generated from the following files: