class DriverInterface
Defined at line 102 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 104 of file ../../src/storage/lib/block_server/block_server.h
void Log (std::string_view msg)
Defined at line 108 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 111 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 117 of file ../../src/storage/lib/block_server/block_server.h
void StartThread (Thread thread)
Defined at line 137 of file ../../src/storage/lib/block_server/block_server.cc
void OnNewSession (std::unique_ptr<Session> session)
Defined at line 171 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 122 of file ../../src/storage/lib/block_server/block_server.h