class DriverInterface

Defined at line 100 of file ../../src/storage/lib/block_server/block_server.h

Helper class for drivers to use when implementing the block server interface. Simplifies

integration with the Fuchsia driver framework for logging and async dispatchers.

TODO(https://fxbug.dev/42085539): Each session runs in a blocking manner on a dedicated

dispatcher, however the driver framework uses a fixed-size thread pool for running these tasks.

Once this limit is hit (currently 10), new sessions will be blocked from running until existing

ones are closed.

Public Methods

void DriverInterface ()

Defined at line 102 of file ../../src/storage/lib/block_server/block_server.h

void Log (std::string_view msg)

Defined at line 106 of file ../../src/storage/lib/block_server/block_server.h

fdf::Logger & logger ()

The logger to use for log messages. By default uses the global logger instance.

Defined at line 109 of file ../../src/storage/lib/block_server/block_server.h

std::string_view SessionSchedulerRole ()

The scheduler role name to use for session worker threads.

Defined at line 115 of file ../../src/storage/lib/block_server/block_server.h

void StartThread (std::unique_ptr<Thread> thread)

Defined at line 131 of file ../../src/storage/lib/block_server/block_server.cc

void OnNewSession (std::unique_ptr<Session> session)

Defined at line 167 of file ../../src/storage/lib/block_server/block_server.cc

Protected Methods

void OnDispatcherShutdown (fdf_dispatcher_t * dispatcher)

A hook which is run whenever a dispatcher shuts down. The hook must call

`fdf_dispatcher_destroy`.

Defined at line 120 of file ../../src/storage/lib/block_server/block_server.h