1 // Copyright (C) 2018 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 PACKET_QUEUE_MGR4_H 8 #define PACKET_QUEUE_MGR4_H 9 10 #include <dhcp/packet_queue_mgr.h> 11 12 #include <boost/scoped_ptr.hpp> 13 14 namespace isc { 15 namespace dhcp { 16 17 /// @brief Packet Queue Manager for DHPCv4 servers. 18 /// 19 /// Implements the "manager" class which holds information about the 20 /// supported DHCPv4 packet queue implementations and provides management 21 /// of the current queue instance. 22 class PacketQueueMgr4 : public PacketQueueMgr<PacketQueue4Ptr> { 23 24 public: 25 /// @brief Logical name of the pre-registered, default queue implementation 26 static const std::string DEFAULT_QUEUE_TYPE4; 27 28 /// It registers a default factory for DHCPv4 queues. 29 PacketQueueMgr4(); 30 31 /// @brief virtual Destructor ~PacketQueueMgr4()32 virtual ~PacketQueueMgr4(){} 33 }; 34 35 /// @brief Defines a shared pointer to PacketQueueMgr4 36 typedef boost::shared_ptr<PacketQueueMgr4> PacketQueueMgr4Ptr; 37 38 39 } // end of namespace isc::dhcp 40 } // end of namespace isc 41 42 #endif // PACKET_QUEUE_MGR4_H 43