7 namespace test_acquire {
10 std::vector<int>
const* iIn,
11 std::vector<int>* iOut,
16 streamData.out_ = iOut;
19 std::lock_guard<std::mutex> guard(
m_mutex);
41 std::vector<unsigned int> streamsToUse;
43 std::unique_lock<std::mutex> lk(
m_mutex);
56 for (
auto index : streamsToUse) {
59 std::exception_ptr exceptionPtr;
61 for (
auto v : *streamData.in_) {
62 streamData.out_->push_back(
v + 1);
65 exceptionPtr = std::current_exception();
67 streamData.holder_.doneWaiting(exceptionPtr);
std::atomic< bool > m_shouldStop
std::vector< StreamData > m_perStream
const unsigned int m_minNumStreamsBeforeDoingWork
std::condition_variable m_cond
const unsigned int m_secondsToWait
std::unique_ptr< std::thread > m_thread
std::vector< unsigned int > m_waitingStreams
bool readyForWork() const
void requestValuesAsync(unsigned int dataID, std::vector< int > const *iIn, std::vector< int > *iOut, edm::WaitingTaskWithArenaHolder holder)