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