Kea 3.3.3
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
12#include <cc/cfg_to_element.h>
13#include <cc/data.h>
16
17#include <mutex>
18
19#include <boost/noncopyable.hpp>
20#include <boost/shared_ptr.hpp>
21
22namespace isc {
23namespace radius {
24
29class RadiusService : public data::CfgToElement, public boost::noncopyable {
30public:
31
35 explicit RadiusService(const std::string& name);
36
38 virtual ~RadiusService();
39
43 data::ElementPtr toElement() const override;
44
46 std::string name_;
47
50
53
56
59
62
65
68
69protected:
73 void cancelIdleTimer();
74
78 static std::mutex idle_timer_mutex_;
79};
80
82typedef boost::shared_ptr<RadiusService> RadiusServicePtr;
83
84} // end of namespace isc::radius
85} // end of namespace isc
86
87#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.