7#ifndef BULK_LEASE_QUERY_H
8#define BULK_LEASE_QUERY_H
13#include <boost/enable_shared_from_this.hpp>
38class BulkLeaseQuery :
public boost::enable_shared_from_this<BulkLeaseQuery> {
117 return (
query_->getXid());
A generic exception that is thrown if a parameter given to a method is considered invalid in that con...
Base class for providing control flow for processing a bulk query.
BlqQueryCompleteCb query_complete_
The queryComplete callback.
bool isProcessing() const
Processing in progress predicate.
uint8_t query_type_
The query type.
virtual void start()=0
Start processing.
virtual void setDone()
Set the done flag.
BlqQueryPtr getQuery()
Get the query.
BlqPostCb post_
The post callback.
bool isProcessed() const
Processing finished predicate.
virtual ~BulkLeaseQuery()
Destructor.
BulkLeaseQuery(BlqQueryPtr query, const BlqPostCb &post, const BlqPushToSendCb &push_to_send, const BlqQueryCompleteCb &query_complete)
Constructor.
BlqQueryPtr query_
The query.
virtual void init()=0
Initialization.
bool started_
The processing is in progress.
uint8_t getQueryType() const
Get the query type.
BlqPushToSendCb push_to_send_
The pushToSend callback.
static void processStart(BulkLeaseQueryPtr ptr)
Class/static start processing.
bool done_
The processing finished.
Xid getXid() const
Get the transaction id of the query.
#define isc_throw(type, stream)
A shortcut macro to insert known values into exception arguments.
boost::shared_ptr< BlqResponse > BlqResponsePtr
Defines a shared pointer to an BlqResponse.
std::function< void(const BlqPostCbArg &)> BlqPostCb
Type of BLQ post callback.
std::function< void(Xid)> BlqQueryCompleteCb
Type of BLQ queryComplete callback.
std::function< void()> BlqPostCbArg
Type of BLQ post callback argument..
uint32_t Xid
Defines a Bulk LeaseQuery transaction id.
boost::shared_ptr< BlqQuery > BlqQueryPtr
Defines a shared pointer to an BlqQuery.
boost::shared_ptr< BulkLeaseQuery > BulkLeaseQueryPtr
Defines a shared pointer to a BulkLeaseQuery object.
std::function< bool(BlqResponsePtr)> BlqPushToSendCb
Type of BLQ pushToSend callback.
Defines the logger used by the top-level component of kea-lfc.