class Worker

Defined at line 29 of file ../../src/devices/block/drivers/zxcrypt/worker.h

|zxcrypt::Worker| represents a thread performing cryptographic transformations on block I/O data.

Since these operations may have significant and asymmetric costs between encrypting and

decrypting, they are performed asynchronously on separate threads. The |zxcrypt::Device| may

spin up multiple workers pulling from a shared queues to optimize the throughput.

Public Methods

void Worker ()

Defined at line 33 of file ../../src/devices/block/drivers/zxcrypt/worker.cc

void ~Worker ()

Defined at line 35 of file ../../src/devices/block/drivers/zxcrypt/worker.cc

zx_status_t Start (Device * device, const DdkVolume & volume, Queue<block_op_t *> & queue)

Starts the worker, which will service requests sent from the given |device| on the given

|queue|. Cryptographic operations will use the key material from the given |volume|.

Defined at line 40 of file ../../src/devices/block/drivers/zxcrypt/worker.cc

zx_status_t Stop ()

Asks the worker to stop. This call blocks until the worker has finished processing the

currently queued operations and exits.

Defined at line 180 of file ../../src/devices/block/drivers/zxcrypt/worker.cc