| Kea 3.0.2-git

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:
[legend]

## 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::TCPEndpoint & | getEndpoint () 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::TCPEndpoint > | endpoint_
| 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_service | IO service to be used by the listener.
  server_address | Address on which the TCP service should run.
  server_port | Port number on which the TCP service should run.
  tls_context | TLS context.
  idle_timeout | Timeout after which an idle TCP connection is
  filter_callback | Callback invoked during connection acceptance that can allow or deny connections based on the remote endpoint.
  family | Protocol family, AF_INET or AF_INET6.
  max_concurrent_queries | Maximum 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 | ( |  | ) |
| inline virtual

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 )
| inline protected virtual

Creates an instance of the `TcpConnection`.

Parameters

  acceptor_callback | Callback invoked when new connection is accepted.
  connection_filter | Callback 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:

- lease_query_listener.h