55 std::make_unique<TrackedRequests>()};
58 std::recursive_mutex _mutex{};
67 size_t dropCanceled();
92 [[nodiscard]]
size_t size();
99 void insert(std::shared_ptr<Request> request);
Handle tracked requests.
Definition: inflight_requests.h:52
TrackedRequestsPtr release()
Releases the internally-tracked containers.
void insert(std::shared_ptr< Request > request)
Insert an inflight requests to the container.
size_t cancelAll()
Issue cancelation of all inflight requests and clear the internal container.
InflightRequests()=default
Default constructor.
void merge(TrackedRequestsPtr trackedRequests)
Merge containers of inflight requests with the internal containers.
void remove(const Request *const request)
Remove an inflight request from the internal container.
size_t size()
Query the number of pending inflight requests.
size_t getCancelingSize()
Get count of requests in process of cancelation.
~InflightRequests()
Destructor.
Base type for a UCXX transfer request.
Definition: request.h:38
std::map< const Request *const, std::shared_ptr< Request > > InflightRequestsMap
An inflight request map.
Definition: inflight_requests.h:14
struct ucxx::TrackedRequests TrackedRequests
A container for the different types of tracked requests.
std::unique_ptr< TrackedRequests > TrackedRequestsPtr
Pre-defined type for a pointer to a container of tracked requests.
Definition: inflight_requests.h:44
A container for the different types of tracked requests.
Definition: inflight_requests.h:30
std::mutex _mutex
Mutex to control access to inflight requests container.
Definition: inflight_requests.h:33
InflightRequestsMap _inflight
Valid requests awaiting completion.
Definition: inflight_requests.h:31
std::mutex _cancelMutex
Mutex to allow cancelation and prevent removing requests simultaneously.
Definition: inflight_requests.h:35
InflightRequestsMap _canceling
Requests scheduled for cancelation.
Definition: inflight_requests.h:32