7#ifndef LEASE_QUERY_LISTENER_H
8#define LEASE_QUERY_LISTENER_H
38 const unsigned short server_port,
42 const uint16_t family,
43 const size_t max_concurrent_queries = 0)
The IOAddress class represents an IP addresses (version agnostic)
Derivation of TcpConnection used for Bulk LeaseQuery.
uint16_t family_
Protocol family AF_INET or AF_INET6.
virtual tcp::TcpConnectionPtr createConnection(const tcp::TcpConnectionAcceptorCallback &acceptor_callback, const tcp::TcpConnectionFilterCallback &connection_filter)
Creates an instance of the TcpConnection.
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.
size_t max_concurrent_queries_
Maximum number of concurrent queries allowed.
Implements a class that listens for, accepts, and manages TCP connections.
asiolink::IOServicePtr io_service_
Pointer to the IO service.
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.
asiolink::TlsContextPtr tls_context_
TLS context.
TcpConnectionPool connections_
Pool of active connections.
long idle_timeout_
Timeout after which idle connection is closed by the server.
TcpConnectionAcceptorPtr acceptor_
Acceptor instance.
boost::shared_ptr< TlsContext > TlsContextPtr
The type of shared pointers to TlsContext objects.
boost::shared_ptr< IOService > IOServicePtr
Defines a smart pointer to an IOService instance.
boost::shared_ptr< LeaseQueryConnection > LeaseQueryConnectionPtr
Defines a shared pointer to a LeaseQueryConnection.
boost::shared_ptr< LeaseQueryListener > LeaseQueryListenerPtr
Defines a pointer to a LeaseQueryListener.
std::function< bool(const boost::asio::ip::tcp::endpoint &)> TcpConnectionFilterCallback
Type of the callback for filtering new connections by ip address.
boost::shared_ptr< TcpConnection > TcpConnectionPtr
Pointer to the TcpConnection.
std::function< void(const boost::system::error_code &)> TcpConnectionAcceptorCallback
Type of the callback for the TCP acceptor used in this library.
Defines the logger used by the top-level component of kea-lfc.