7#ifndef CMD_HTTP_LISTENER_H
8#define CMD_HTTP_LISTENER_H
36 const uint16_t thread_pool_size = 1,
101 return (thread_pool_size_);
108 return (tls_context_);
119 return (thread_pool_->getThreadCount());
128 return (thread_io_service_);
145 std::size_t thread_pool_size_;
The IOAddress class represents an IP addresses (version agnostic)
A multi-threaded HTTP listener that can process API commands requests.
uint16_t getThreadCount() const
Fetches the number of threads in the pool.
uint16_t getThreadPoolSize() const
Fetches the maximum size of the thread pool.
uint16_t getPort() const
Fetches the port number on which to listen.
void checkPermissions()
Check if the current thread can perform thread pool state transition.
isc::asiolink::IOAddress getAddress() const
Fetches the IP address on which to listen.
void start()
Starts running the listener's thread pool.
virtual ~CmdHttpListener()
Destructor.
asiolink::TlsContextPtr getTlsContext() const
Fetches the TLS context.
bool isPaused()
Indicates if the thread pool is paused.
CmdHttpListener(const asiolink::IOAddress &address, const uint16_t port, const uint16_t thread_pool_size=1, asiolink::TlsContextPtr context=asiolink::TlsContextPtr())
Constructor.
asiolink::IOServicePtr getThreadIOService() const
Fetches a pointer to the internal IOService used to drive the thread-pool in multi-threaded mode.
void pause()
Pauses the listener's thread pool.
void resume()
Resumes running the listener's thread pool.
bool isRunning()
Indicates if the thread pool is running.
void stop()
Stops the listener's thread pool.
bool isStopped()
Indicates if the thread pool is stopped.
boost::shared_ptr< TlsContext > TlsContextPtr
The type of shared pointers to TlsContext objects.
boost::shared_ptr< IoServiceThreadPool > IoServiceThreadPoolPtr
Defines a pointer to a thread pool.
boost::shared_ptr< IOService > IOServicePtr
Defines a smart pointer to an IOService instance.
boost::shared_ptr< CmdHttpListener > CmdHttpListenerPtr
Defines a shared pointer to CmdHttpListener.
boost::shared_ptr< HttpListener > HttpListenerPtr
Pointer to the HttpListener.
Defines the logger used by the top-level component of kea-lfc.