Kea 2.7.9
http_command_mgr.h
Go to the documentation of this file.
1// Copyright (C) 2024-2025 Internet Systems Consortium, Inc. ("ISC")
2//
3// This Source Code Form is subject to the terms of the Mozilla Public
4// License, v. 2.0. If a copy of the MPL was not distributed with this
5// file, You can obtain one at http://mozilla.org/MPL/2.0/.
6
7#ifndef HTTP_COMMAND_MGR_H
8#define HTTP_COMMAND_MGR_H
9
10#include <asiolink/io_service.h>
12#include <boost/noncopyable.hpp>
13
14namespace isc {
15namespace config {
16
18class HttpCommandMgrImpl;
19
23class HttpCommandMgr : public boost::noncopyable {
24public:
25
30 static HttpCommandMgr& instance();
31
37 void setIOService(const asiolink::IOServicePtr& io_service);
38
42 void setConnectionTimeout(const long timeout);
43
47 void setIdleConnectionTimeout(const long timeout);
48
55 void addExternalSockets(bool use_external = true);
56
61
72
80 void closeCommandSocket(HttpSocketInfoPtr info = HttpSocketInfoPtr(), bool remove = true);
81
84
92
93private:
94
97
99 boost::shared_ptr<HttpCommandMgrImpl> impl_;
100};
101
102} // end of isc::config namespace
103} // end of isc namespace
104#endif
HTTP Commands Manager implementation for the Kea servers.
void openCommandSocket(const isc::data::ConstElementPtr config)
Open http control socket using configuration.
void setIdleConnectionTimeout(const long timeout)
Override default idle connection timeout.
isc::http::ConstHttpListenerPtr getHttpListener(HttpSocketInfoPtr info=HttpSocketInfoPtr()) const
Returns a const pointer to the HTTP listener.
void closeCommandSockets()
Close http control sockets.
void setConnectionTimeout(const long timeout)
Override default connection timeout.
void addExternalSockets(bool use_external=true)
Use external sockets flag.
static HttpCommandMgr & instance()
HttpCommandMgr is a singleton class.
void setIOService(const asiolink::IOServicePtr &io_service)
Sets IO service to be used by the http command manager.
void openCommandSockets(const isc::data::ConstElementPtr config)
Open http control sockets using configuration.
void closeCommandSocket(HttpSocketInfoPtr info=HttpSocketInfoPtr(), bool remove=true)
Close http control socket.
boost::shared_ptr< HttpSocketInfo > HttpSocketInfoPtr
Pointer to a HttpSocketInfo object.
boost::shared_ptr< const Element > ConstElementPtr
Definition data.h:29
boost::shared_ptr< const HttpListener > ConstHttpListenerPtr
Pointer to the const HttpListener.
Definition listener.h:159
Defines the logger used by the top-level component of kea-lfc.