3 #include "radproto/socket.h"
4 #include "radproto/packet.h"
5 #include "radproto/dictionaries.h"
6 #include "stg/logger.h"
7 #include <boost/asio.hpp>
8 #include <stop_token.hpp>
10 #include <cstdint> //uint8_t, uint32_t
19 Server(boost::asio::io_context& io_context, const std::string& secret, uint16_t port, const std::string& filePath, std::stop_token token, PluginLogger& logger, Users* users);
22 RadProto::Packet makeResponse(const RadProto::Packet& request);
23 bool findUser(const RadProto::Packet& packet);
24 void handleReceive(const boost::system::error_code& error, const std::optional<RadProto::Packet>& packet, const boost::asio::ip::udp::endpoint& source);
25 void handleSend(const boost::system::error_code& ec);
29 RadProto::Socket m_radius;
30 RadProto::Dictionaries m_dictionaries;
32 std::stop_token m_token;
34 PluginLogger& m_logger;