Kea 3.1.5
radius_service.h
Go to the documentation of this file.
1// Copyright (C) 2023-2026 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 RADIUS_SERVICE_H
8#define RADIUS_SERVICE_H
9
10#include <client_server.h>
11#include <cfg_attribute.h>
14#include <cc/cfg_to_element.h>
15#include <cc/data.h>
16#include <boost/noncopyable.hpp>
17#include <boost/shared_ptr.hpp>
18#include <mutex>
19
20namespace isc {
21namespace radius {
22
27class RadiusService : public data::CfgToElement, public boost::noncopyable {
28public:
29
33 explicit RadiusService(const std::string& name);
34
36 virtual ~RadiusService();
37
41 data::ElementPtr toElement() const override;
42
44 std::string name_;
45
48
51
54
57
60
63
66
67protected:
71 void cancelIdleTimer();
72
76 static std::mutex idle_timer_mutex_;
77};
78
80typedef boost::shared_ptr<RadiusService> RadiusServicePtr;
81
82} // end of namespace isc::radius
83} // end of namespace isc
84
85#endif
Attribute data configuration.
bool peer_updates_
Peer updates flag.
CfgAttributes attributes_
Attribute configurations.
RadiusService(const std::string &name)
Constructor.
data::ElementPtr toElement() const override
Unparse service configuration.
size_t max_pending_requests_
Maximum number of pending requests.
asiolink::IntervalTimerPtr idle_timer_
Idle timer.
long idle_timer_interval_
Idle timer interval in seconds.
Servers servers_
Server list.
void cancelIdleTimer()
Cancel idle timer.
virtual ~RadiusService()
Destructor.
static std::mutex idle_timer_mutex_
Idle timer mutex.
std::string name_
Name (access or accounting).
boost::shared_ptr< Element > ElementPtr
Definition data.h:29
std::vector< ServerPtr > Servers
Type of RADIUS server collection.
boost::shared_ptr< RadiusService > RadiusServicePtr
Type of pointers to Radius service.
Defines the logger used by the top-level component of kea-lfc.
Abstract class for configuration Cfg_* classes.