plugin
0.1.0
|
#include <requests_pool.h>
Public Member Functions | |
RequestsPool (ov::CompiledModel &compiledModel, unsigned int size) | |
ov::InferRequest | getIdleRequest () |
void | setRequestIdle (const ov::InferRequest &request) |
size_t | getInUseRequestsCount () |
bool | isIdleRequestAvailable () |
void | waitForTotalCompletion () |
std::vector< ov::InferRequest > | getInferRequestsList () |
This is class storing requests pool for asynchronous pipeline
ov::InferRequest RequestsPool::getIdleRequest | ( | ) |
Returns idle request from the pool. Returned request is automatically marked as In Use (this status will be reset after request processing completion) This function is thread safe as long as request is used only until setRequestIdle call
std::vector< ov::InferRequest > RequestsPool::getInferRequestsList | ( | ) |
Returns list of all infer requests in the pool.
size_t RequestsPool::getInUseRequestsCount | ( | ) |
Returns number of requests in use. This function is thread safe.
bool RequestsPool::isIdleRequestAvailable | ( | ) |
Returns number of requests in use. This function is thread safe.
void RequestsPool::setRequestIdle | ( | const ov::InferRequest & | request | ) |
Sets particular request to Idle state This function is thread safe as long as request provided is not used after call to this function
request | - request to be returned to idle state |
void RequestsPool::waitForTotalCompletion | ( | ) |
Waits for completion of every non-idle requests in pool. getIdleRequest should not be called together with this function or after it to avoid race condition or invalid state