23#include <condition_variable>
60 std::promise<bool> promise;
61 std::future<bool> future = promise.get_future();
125 task.
promise.set_value(success);
127 catch(
const std::exception& e)
129 task.
promise.set_exception(std::current_exception());
void stopWorkerThread()
Definition Codec.h:87
std::future< bool > queueDecompressTile(uint16_t tile_index)
Definition Codec.h:56
void startWorkerThreadIfNeeded()
Definition Codec.h:77
Codec & operator=(const Codec &)=delete
std::mutex thread_start_mutex_
Definition Codec.h:148
Codec(grk::IStream *stream)
Definition Codec.h:34
void workerThread()
Definition Codec.h:101
std::thread worker_
Definition Codec.h:141
std::condition_variable queue_cv_
Definition Codec.h:144
IDecompressor * decompressor_
Definition Codec.h:73
static Codec * getImpl(grk_object *codec)
Definition Codec.h:51
Codec(const Codec &)=delete
~Codec()
Definition Codec.h:41
std::queue< TileTask > task_queue_
Definition Codec.h:142
ICompressor * compressor_
Definition Codec.h:72
std::mutex queue_mutex_
Definition Codec.h:143
std::unique_ptr< grk::IStream > stream_
Definition Codec.h:74
std::atomic< bool > stop_worker_
Definition Codec.h:145
grk_object obj
Definition Codec.h:71
bool thread_started_
Definition Codec.h:149
Definition GrkObjectWrapper.h:31
ResWindow.
Definition CompressedChunkCache.h:36
uint16_t tile_index
Definition Codec.h:136
std::promise< bool > promise
Definition Codec.h:137
Definition ICompressor.h:24
Decompress interface.
Definition IDecompressor.h:29
Opaque reference-counted object.