9 #include <unordered_set>
24 std::vector<std::shared_ptr<Request>>
inflight{};
39 std::unordered_set<std::shared_ptr<Request>> _inflight{};
40 std::unordered_set<std::shared_ptr<Request>> _canceling{};
67 [[nodiscard]]
size_t size();
74 void insert(
const std::shared_ptr<Request>& request);
96 void remove(
const std::shared_ptr<Request>& request);
Handle tracked requests.
Definition: inflight_requests.h:37
TrackedRequests release()
Releases the internally-tracked containers.
size_t cancelAll()
Issue cancelation of all inflight requests and clear the internal container.
InflightRequests()=default
Default constructor.
void insert(const std::shared_ptr< Request > &request)
Insert an inflight request into the container.
size_t size()
Query the number of pending inflight requests.
size_t getCancelingSize()
Get count of requests in process of cancelation.
void merge(TrackedRequests &&trackedRequests)
Merge containers of inflight requests with the internal containers.
void remove(const std::shared_ptr< Request > &request)
Remove an inflight request from the internal container.
~InflightRequests()
Destructor.
Container for transferring tracked requests between InflightRequests instances.
Definition: inflight_requests.h:23
std::vector< std::shared_ptr< Request > > inflight
Valid requests awaiting completion.
Definition: inflight_requests.h:24
std::vector< std::shared_ptr< Request > > canceling
Requests scheduled for cancelation.
Definition: inflight_requests.h:25