class BackgroundExecutor

Defined at line 22 of file ../../src/storage/lib/vfs/cpp/journal/background_executor.h

A generic task executor, capable of running only when work is available until destroyed. Tasks

added to the BackgroundExecutor are executed on a single thread.

This class is not assignable, copyable, or moveable. This class is thread-safe.

Public Methods

void BackgroundExecutor ()

Defined at line 19 of file ../../src/storage/lib/vfs/cpp/journal/background_executor.cc

void BackgroundExecutor (const BackgroundExecutor & )

Defined at line 25 of file ../../src/storage/lib/vfs/cpp/journal/background_executor.h

void BackgroundExecutor (BackgroundExecutor && )

Defined at line 26 of file ../../src/storage/lib/vfs/cpp/journal/background_executor.h

BackgroundExecutor & operator= (const BackgroundExecutor & )

Defined at line 27 of file ../../src/storage/lib/vfs/cpp/journal/background_executor.h

BackgroundExecutor & operator= (BackgroundExecutor && )

Defined at line 28 of file ../../src/storage/lib/vfs/cpp/journal/background_executor.h

void schedule_task (fpromise::pending_task task)

Schedules a unit of work to be processed in a background thread.

All tasks scheduled to |BackgroundExecutor| via this method are not serialized.

Serialization may be enforced by wrapping incoming objects with a fpromise::sequencer object,

if desired.

Defined at line 36 of file ../../src/storage/lib/vfs/cpp/journal/background_executor.h

void Terminate ()

This terminates and joins any background threads. This must be called before the destructor

runs.

Defined at line 49 of file ../../src/storage/lib/vfs/cpp/journal/background_executor.cc