Files
Jungfraujoch/common/ZeroCopyReturnValue.h

22 lines
543 B
C++

// Copyright (2019-2023) Paul Scherrer Institute
// SPDX-License-Identifier: GPL-3.0-or-later
#ifndef JUNGFRAUJOCH_ZEROCOPYRETURNVALUE_H
#define JUNGFRAUJOCH_ZEROCOPYRETURNVALUE_H
#include "ThreadSafeFIFO.h"
class ZeroCopyReturnValue {
uint32_t handle;
ThreadSafeFIFO<uint32_t> *fifo;
public:
ZeroCopyReturnValue(ThreadSafeFIFO<uint32_t> &in_fifo, uint32_t in_handle) :
fifo(&in_fifo), handle(in_handle) {}
void release() const {
fifo->PutBlocking(handle);
}
};
#endif //JUNGFRAUJOCH_ZEROCOPYRETURNVALUE_H