7 #ifndef D2_UPDATE_MGR_H 8 #define D2_UPDATE_MGR_H 19 #include <boost/noncopyable.hpp> 20 #include <boost/shared_ptr.hpp> 70 static const size_t MAX_TRANSACTIONS_DEFAULT = 32;
84 const size_t max_transactions = MAX_TRANSACTIONS_DEFAULT);
111 void checkFinishedTransactions();
161 return (io_service_);
166 return (max_transactions_);
176 void setMaxTransactions(
const size_t max_transactions);
184 TransactionList::iterator findTransaction(
const TransactionKey& key);
187 TransactionList::iterator transactionListEnd();
190 TransactionList::iterator transactionListBegin();
212 void clearTransactionList();
215 size_t getQueueCount()
const;
218 size_t getTransactionCount()
const;
236 size_t max_transactions_;
239 TransactionList transaction_list_;
size_t getMaxTransactions() const
Returns the maximum number of concurrent transactions.
This file defines the class NameChangeTransaction.
const asiolink::IOServicePtr & getIOService()
Gets the D2UpdateMgr's IOService.
boost::shared_ptr< IOService > IOServicePtr
Defines a smart pointer to an IOService instance.
D2UpdateMgr creates and manages update transactions.
boost::shared_ptr< NameChangeRequest > NameChangeRequestPtr
Defines a pointer to a NameChangeRequest.
virtual const char * what() const
Returns a C-style character string of the cause of the exception.
boost::shared_ptr< D2QueueMgr > D2QueueMgrPtr
Defines a pointer for manager instances.
std::map< TransactionKey, NameChangeTransactionPtr > TransactionList
Defines a list of transactions.
D2UpdateMgrError(const char *file, size_t line, const char *what)
boost::shared_ptr< D2CfgMgr > D2CfgMgrPtr
Defines a shared pointer to D2CfgMgr.
boost::shared_ptr< D2UpdateMgr > D2UpdateMgrPtr
Defines a pointer to a D2UpdateMgr instance.
This is a base class for exceptions thrown from the DNS library module.
Defines the logger used by the top-level component of kea-lfc.
Container class for handling the DHCID value within a NameChangeRequest.
Thrown if the update manager encounters a general error.
This file defines the class D2QueueMgr.