worker_thread_s Struct Reference

## Data Fields

worker_state | state
uint8_t * | in
size_t | in_size
lzma_outbuf * | outbuf
lzma_stream_coder * | coder
const lzma_allocator * | allocator
uint64_t | progress_in
| Amount of uncompressed data that has already been compressed. More...
uint64_t | progress_out
| Amount of compressed data that is ready. More...
lzma_next_coder | block_encoder
| Block encoder. More...
lzma_block | block_options
| Compression options for this Block. More...
worker_thread * | next
| Next structure in the stack of free worker threads. More...
mythread_mutex | mutex
mythread_cond | cond
mythread | thread_id

## Field Documentation

## in

uint8_t* worker_thread_s::in

Input buffer of coder->block_size bytes. The main thread will put new input into this and update in_size accordingly. Once no more input is coming, state will be set to THR_FINISH.

## in_size

size_t worker_thread_s::in_size

Amount of data available in the input buffer. This is modified only by the main thread.

## outbuf

lzma_outbuf* worker_thread_s::outbuf

Output buffer for this thread. This is set by the main thread every time a new Block is started with this thread structure.

## coder

lzma_stream_coder* worker_thread_s::coder

Pointer to the main structure is needed when putting this thread back to the stack of free threads.

## allocator

const lzma_allocator* worker_thread_s::allocator

The allocator is set by the main thread. Since a copy of the pointer is kept here, the application must not change the allocator before calling lzma_end().

## progress_in

uint64_t worker_thread_s::progress_in

Amount of uncompressed data that has already been compressed.

## progress_out

uint64_t worker_thread_s::progress_out

Amount of compressed data that is ready.

## block_encoder

lzma_next_coder worker_thread_s::block_encoder

Block encoder.

## block_options

lzma_block worker_thread_s::block_options

Compression options for this Block.

## next

worker_thread* worker_thread_s::next

Next structure in the stack of free worker threads.

## thread_id

mythread worker_thread_s::thread_id

The ID of this thread is used to join the thread when it's not needed anymore.

The documentation for this struct was generated from the following file:

- liblzma/common/stream_encoder_mt.c