26#ifndef ROUTING_BASIC_PROTOCOL_SPLICER_INCLUDED
27#define ROUTING_BASIC_PROTOCOL_SPLICER_INCLUDED
53 [[nodiscard]]
virtual std::vector<std::pair<std::string, std::string>>
61template <
class Protocol>
69 [[nodiscard]] std::vector<std::pair<std::string, std::string>>
94 std::unique_ptr<ConnectionBase> conn,
101 std::unique_ptr<ConnectionBase> conn,
108 [[nodiscard]] std::vector<std::pair<std::string, std::string>>
120 return routing_conn_->increment_error_count(blocked_endpoints);
Definition: blocked_endpoints.h:34
uint64_t increment_error_count(const net::ip::tcp::endpoint &endpoint)
increments the error count of an endpoint.
Definition: blocked_endpoints.cc:45
uint64_t reset_error_count(const net::ip::tcp::endpoint &endpoint)
resets error counter for an endpoint.
Definition: blocked_endpoints.cc:58
SSL aware socket buffers.
Definition: channel.h:65
Definition: protocol.h:33
Definition: basic_protocol_splicer.h:49
virtual std::vector< std::pair< std::string, std::string > > initial_connection_attributes() const =0
virtual ~RoutingConnectionBase()=default
virtual uint64_t increment_error_count(BlockedEndpoints &blocked_endpoints)=0
virtual uint64_t reset_error_count(BlockedEndpoints &blocked_endpoints)=0
Definition: basic_protocol_splicer.h:62
typename protocol_type::endpoint endpoint_type
Definition: basic_protocol_splicer.h:65
std::vector< std::pair< std::string, std::string > > initial_connection_attributes() const override
Definition: basic_protocol_splicer.h:70
uint64_t increment_error_count(BlockedEndpoints &blocked_endpoints) override
Definition: basic_protocol_splicer.h:78
RoutingConnection(endpoint_type ep)
Definition: basic_protocol_splicer.h:67
endpoint_type ep_
Definition: basic_protocol_splicer.h:83
uint64_t reset_error_count(BlockedEndpoints &blocked_endpoints) override
Definition: basic_protocol_splicer.h:74
Definition: basic_protocol_splicer.h:87
TlsSwitchableClientConnection(std::unique_ptr< ConnectionBase > conn, std::unique_ptr< RoutingConnectionBase > routing_conn, SslMode ssl_mode, Channel channel, protocol_state_type state)
Definition: basic_protocol_splicer.h:100
std::vector< std::pair< std::string, std::string > > initial_connection_attributes() const
Definition: basic_protocol_splicer.h:109
TlsSwitchableClientConnection(std::unique_ptr< ConnectionBase > conn, std::unique_ptr< RoutingConnectionBase > routing_conn, SslMode ssl_mode, protocol_state_type state)
Definition: basic_protocol_splicer.h:93
uint64_t increment_error_count(BlockedEndpoints &blocked_endpoints)
Definition: basic_protocol_splicer.h:118
uint64_t reset_error_count(BlockedEndpoints &blocked_endpoints)
Definition: basic_protocol_splicer.h:113
std::unique_ptr< RoutingConnectionBase > routing_conn_
Definition: basic_protocol_splicer.h:124
a Connection that can be switched to TLS.
Definition: connection_base.h:264
T protocol_state_type
Definition: connection_base.h:272
SslMode ssl_mode() const
Definition: connection_base.h:363
std::vector< std::pair< std::string, std::string > > initial_connection_attributes(const net::ip::tcp::endpoint &ep)
TCP/IP socket related connection attributes.
Definition: initial_connection_attributes.h:43
Definition: gcs_xcom_synode.h:64
SslMode
Definition: ssl_mode.h:29