20 #include <condition_variable>
24 #include <unordered_map>
26 #include <openvino/openvino.hpp>
28 #include <models/results.h>
31 #include "pipelines/requests_pool.h"
60 return requestsPool->isIdleRequestAvailable();
67 requestsPool->waitForTotalCompletion();
77 virtual int64_t
submitData(
const InputData& inputData,
const std::shared_ptr<MetaData>& metaData);
83 virtual std::unique_ptr<ResultBase>
getResult(
bool shouldKeepOrder =
true);
86 return inferenceMetrics;
89 return preprocessMetrics;
92 return postprocessMetrics;
104 std::unique_ptr<RequestsPool> requestsPool;
105 std::unordered_map<int64_t, InferenceResult> completedInferenceResults;
107 ov::CompiledModel compiledModel;
110 std::condition_variable condVar;
112 int64_t inputFrameId = 0;
113 int64_t outputFrameId = 0;
115 std::exception_ptr callbackException =
nullptr;
117 std::unique_ptr<ModelBase> model;
Definition: async_pipeline.h:40
bool isReadyToProcess()
Definition: async_pipeline.h:59
void waitForData(bool shouldKeepOrder=true)
Definition: async_pipeline.cpp:65
void waitForTotalCompletion()
Definition: async_pipeline.h:65
virtual int64_t submitData(const InputData &inputData, const std::shared_ptr< MetaData > &metaData)
Definition: async_pipeline.cpp:79
virtual std::unique_ptr< ResultBase > getResult(bool shouldKeepOrder=true)
Definition: async_pipeline.cpp:131
virtual InferenceResult getInferenceResult(bool shouldKeepOrder)
Definition: async_pipeline.cpp:144
AsyncPipeline(std::unique_ptr< ModelBase > &&modelInstance, const ModelConfig &config, ov::Core &core)
Definition: async_pipeline.cpp:39
Definition: model_base.h:34
Definition: config_factory.h:26