// 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 *fifo; public: ZeroCopyReturnValue(ThreadSafeFIFO &in_fifo, uint32_t in_handle) : fifo(&in_fifo), handle(in_handle) {} void release() const { fifo->PutBlocking(handle); } }; #endif //JUNGFRAUJOCH_ZEROCOPYRETURNVALUE_H