Kea 3.0.0
isc::lease_query::LeaseQueryListener Class Reference

Derivation of TcpListener specific to Bulk Lease Query. More...

#include <lease_query_listener.h>

Inheritance diagram for isc::lease_query::LeaseQueryListener:

Public Member Functions

 LeaseQueryListener (const asiolink::IOServicePtr &io_service, const asiolink::IOAddress &server_address, const unsigned short server_port, const asiolink::TlsContextPtr &tls_context, const tcp::TcpListener::IdleTimeout &idle_timeout, const tcp::TcpConnectionFilterCallback &filter_callback, const uint16_t family, const size_t max_concurrent_queries=0)
 Constructor.
virtual ~LeaseQueryListener ()
 Destructor.
Public Member Functions inherited from isc::tcp::TcpListener
 TcpListener (const asiolink::IOServicePtr &io_service, const asiolink::IOAddress &server_address, const unsigned short server_port, const asiolink::TlsContextPtr &tls_context, const IdleTimeout &idle_timeout, const TcpConnectionFilterCallback &connection_filter=0)
 Constructor.
virtual ~TcpListener ()
 Virtual destructor.
const asiolink::TCPEndpointgetEndpoint () const
 Returns reference to the current listener endpoint.
long getIdleTimeout () const
 Returns the idle timeout (in milliseconds).
asiolink::IOAddress getLocalAddress () const
 Returns local address on which server is listening.
uint16_t getLocalPort () const
 Returns local port on which server is listening.
void start ()
 Starts accepting new connections.
void stop ()
 Stops all active connections and shuts down the service.
size_t usedByRemoteIp (const asiolink::IOAddress &remote_ip, size_t &total_connections)
 Returns the number of connections using a given remote IP address.

Protected Member Functions

virtual tcp::TcpConnectionPtr createConnection (const tcp::TcpConnectionAcceptorCallback &acceptor_callback, const tcp::TcpConnectionFilterCallback &connection_filter)
 Creates an instance of the TcpConnection.
Protected Member Functions inherited from isc::tcp::TcpListener
void accept ()
 Creates TcpConnection instance and adds it to the pool of active connections.
void acceptHandler (const boost::system::error_code &ec)
 Callback invoked when the new connection is accepted.

Protected Attributes

uint16_t family_
 Protocol family AF_INET or AF_INET6.
size_t max_concurrent_queries_
 Maximum number of concurrent queries allowed.
Protected Attributes inherited from isc::tcp::TcpListener
TcpConnectionAcceptorPtr acceptor_
 Acceptor instance.
TcpConnectionFilterCallback connection_filter_
 Callback invoked during acceptance which may reject connections.
TcpConnectionPool connections_
 Pool of active connections.
boost::scoped_ptr< asiolink::TCPEndpointendpoint_
 Pointer to the endpoint representing IP address and port on which the service is running.
long idle_timeout_
 Timeout after which idle connection is closed by the server.
asiolink::IOServicePtr io_service_
 Pointer to the IO service.
asiolink::TlsContextPtr tls_context_
 TLS context.

Detailed Description

Derivation of TcpListener specific to Bulk Lease Query.

Definition at line 22 of file lease_query_listener.h.

Constructor & Destructor Documentation

◆ LeaseQueryListener()

isc::lease_query::LeaseQueryListener::LeaseQueryListener ( const asiolink::IOServicePtr & io_service,
const asiolink::IOAddress & server_address,
const unsigned short server_port,
const asiolink::TlsContextPtr & tls_context,
const tcp::TcpListener::IdleTimeout & idle_timeout,
const tcp::TcpConnectionFilterCallback & filter_callback,
const uint16_t family,
const size_t max_concurrent_queries = 0 )
inline

Constructor.

Parameters
io_serviceIO service to be used by the listener.
server_addressAddress on which the TCP service should run.
server_portPort number on which the TCP service should run.
tls_contextTLS context.
idle_timeoutTimeout after which an idle TCP connection is
filter_callbackCallback invoked during connection acceptance that can allow or deny connections based on the remote endpoint.
familyProtocol family, AF_INET or AF_INET6.
max_concurrent_queriesMaximum number of in-progress queries allowed. Defaults to zero (unlimited).

Definition at line 36 of file lease_query_listener.h.

References isc::tcp::TcpListener::TcpListener(), family_, and max_concurrent_queries_.

Here is the call graph for this function:

◆ ~LeaseQueryListener()

virtual isc::lease_query::LeaseQueryListener::~LeaseQueryListener ( )
inlinevirtual

Destructor.

Definition at line 55 of file lease_query_listener.h.

Member Function Documentation

◆ createConnection()

virtual tcp::TcpConnectionPtr isc::lease_query::LeaseQueryListener::createConnection ( const tcp::TcpConnectionAcceptorCallback & acceptor_callback,
const tcp::TcpConnectionFilterCallback & connection_filter )
inlineprotectedvirtual

Creates an instance of the TcpConnection.

Parameters
acceptor_callbackCallback invoked when new connection is accepted.
connection_filterCallback invoked during connection acceptance that can allow or deny connections based on the remote endpoint.
Returns
Pointer to the created connection.

Reimplemented from isc::tcp::TcpListener.

Definition at line 65 of file lease_query_listener.h.

References isc::tcp::TcpListener::acceptor_, isc::tcp::TcpListener::connections_, family_, isc::tcp::TcpListener::idle_timeout_, isc::tcp::TcpListener::io_service_, max_concurrent_queries_, and isc::tcp::TcpListener::tls_context_.

Member Data Documentation

◆ family_

uint16_t isc::lease_query::LeaseQueryListener::family_
protected

Protocol family AF_INET or AF_INET6.

Definition at line 81 of file lease_query_listener.h.

Referenced by LeaseQueryListener(), and createConnection().

◆ max_concurrent_queries_

size_t isc::lease_query::LeaseQueryListener::max_concurrent_queries_
protected

Maximum number of concurrent queries allowed.

Zero means unlimited.

Definition at line 85 of file lease_query_listener.h.

Referenced by LeaseQueryListener(), and createConnection().


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