pub trait IStorage: IObject {
fn open(&mut self) -> Result<Shared<dyn IStorageAccessor>>;
fn sf_server_impl_open(
&mut self,
protocol: CommandProtocol,
ctx: &mut ServerContext<'_>
) -> Result<()> { ... }
fn get_sf_command_metadata_table(&self) -> CommandMetadataTable { ... }
}