Struct dossier::CliBackend
source · pub(crate) struct CliBackend;
Trait Implementations§
source§impl Backend for CliBackend
impl Backend for CliBackend
§type Error = Infallible
type Error = Infallible
The error type that can be returned from the backend functions. If a
backend doesn’t need an error type,
Infallible
can be used.§type ClientData = ()
type ClientData = ()
The type of data that can be stored in
[
ConnectedClient::set_client_data
]. This allows state to be stored
associated with each connected client.§fn configure(
config: ServerConfiguration<Self>
) -> Result<ServerConfiguration<Self>, BackendError<Self::Error>>
fn configure(
config: ServerConfiguration<Self>
) -> Result<ServerConfiguration<Self>, BackendError<Self::Error>>
Invoked once before the server is initialized.
§fn initialize<'life0, 'life1, 'async_trait>(
&'life0 self,
server: &'life1 CustomServer<Self>
) -> Pin<Box<dyn Future<Output = Result<(), BackendError<Self::Error>>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn initialize<'life0, 'life1, 'async_trait>(
&'life0 self,
server: &'life1 CustomServer<Self>
) -> Pin<Box<dyn Future<Output = Result<(), BackendError<Self::Error>>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Invoked once after initialization during
Server::open
/CustomServer::open
.§fn client_connected<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
client: &'life1 ConnectedClient<Self>,
server: &'life2 CustomServer<Self>
) -> Pin<Box<dyn Future<Output = Result<ConnectionHandling, BackendError<Self::Error>>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn client_connected<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
client: &'life1 ConnectedClient<Self>,
server: &'life2 CustomServer<Self>
) -> Pin<Box<dyn Future<Output = Result<ConnectionHandling, BackendError<Self::Error>>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
A client disconnected from the server. This is invoked before authentication has been performed.
§fn client_disconnected<'life0, 'life1, 'async_trait>(
&'life0 self,
client: ConnectedClient<Self>,
server: &'life1 CustomServer<Self>
) -> Pin<Box<dyn Future<Output = Result<(), BackendError<Self::Error>>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn client_disconnected<'life0, 'life1, 'async_trait>(
&'life0 self,
client: ConnectedClient<Self>,
server: &'life1 CustomServer<Self>
) -> Pin<Box<dyn Future<Output = Result<(), BackendError<Self::Error>>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
A client disconnected from the server.
§fn client_authenticated<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
client: ConnectedClient<Self>,
session: &'life1 Session,
server: &'life2 CustomServer<Self>
) -> Pin<Box<dyn Future<Output = Result<(), BackendError<Self::Error>>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn client_authenticated<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
client: ConnectedClient<Self>,
session: &'life1 Session,
server: &'life2 CustomServer<Self>
) -> Pin<Box<dyn Future<Output = Result<(), BackendError<Self::Error>>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
A client successfully authenticated.
§fn client_session_ended<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
session: Session,
client: &'life1 ConnectedClient<Self>,
disconnecting: bool,
server: &'life2 CustomServer<Self>
) -> Pin<Box<dyn Future<Output = Result<(), BackendError<Self::Error>>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn client_session_ended<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
session: Session,
client: &'life1 ConnectedClient<Self>,
disconnecting: bool,
server: &'life2 CustomServer<Self>
) -> Pin<Box<dyn Future<Output = Result<(), BackendError<Self::Error>>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
A client’s session has ended. Read more
source§impl CommandLine for CliBackend
impl CommandLine for CliBackend
§type Backend = CliBackend
type Backend = CliBackend
The Backend for this command line.
§type Subcommand = Cli
type Subcommand = Cli
The [
Subcommand
] which is embedded next to the built-in BonsaiDb
commands.source§fn configuration<'life0, 'async_trait>(
&'life0 mut self
) -> Pin<Box<dyn Future<Output = Result<ServerConfiguration<CliBackend>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn configuration<'life0, 'async_trait>(
&'life0 mut self
) -> Pin<Box<dyn Future<Output = Result<ServerConfiguration<CliBackend>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns the server configuration to use when initializing a local server.
source§fn open_server<'life0, 'async_trait>(
&'life0 mut self
) -> Pin<Box<dyn Future<Output = Result<CustomServer<Self::Backend>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn open_server<'life0, 'async_trait>(
&'life0 mut self
) -> Pin<Box<dyn Future<Output = Result<CustomServer<Self::Backend>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns a new server initialized based on the same configuration used
for [
CommandLine
].source§fn execute<'life0, 'async_trait>(
&'life0 mut self,
command: Self::Subcommand,
connection: AnyServerConnection<Self>
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn execute<'life0, 'async_trait>(
&'life0 mut self,
command: Self::Subcommand,
connection: AnyServerConnection<Self>
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Execute the command on
connection
.§fn run<'async_trait>(
self
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait, Global>>where
Self: 'async_trait,
fn run<'async_trait>(
self
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait, Global>>where
Self: 'async_trait,
Runs the command-line interface using command-line arguments from the
environment.
§fn run_from<'async_trait, I, T>(
self,
itr: I
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait, Global>>where
I: IntoIterator<Item = T> + Send + 'async_trait,
T: Into<OsString> + Clone + Send + 'async_trait,
Self: 'async_trait,
fn run_from<'async_trait, I, T>(
self,
itr: I
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait, Global>>where
I: IntoIterator<Item = T> + Send + 'async_trait,
T: Into<OsString> + Clone + Send + 'async_trait,
Self: 'async_trait,
Runs the command-line interface using the specified list of arguments.
source§impl Debug for CliBackend
impl Debug for CliBackend
source§impl Default for CliBackend
impl Default for CliBackend
source§fn default() -> CliBackend
fn default() -> CliBackend
Returns the “default value” for a type. Read more
source§impl Handler<CliBackend, DeleteFile> for DossierApiHandler
impl Handler<CliBackend, DeleteFile> for DossierApiHandler
source§fn handle<'life0, 'async_trait>(
session: HandlerSession<'life0, CliBackend>,
request: DeleteFile
) -> Pin<Box<dyn Future<Output = HandlerResult<DeleteFile>> + Send + 'async_trait>>where
'life0: 'async_trait,
fn handle<'life0, 'async_trait>(
session: HandlerSession<'life0, CliBackend>,
request: DeleteFile
) -> Pin<Box<dyn Future<Output = HandlerResult<DeleteFile>> + Send + 'async_trait>>where
'life0: 'async_trait,
Returns a dispatcher to handle custom api requests. The parameters are
provided so that they can be cloned if needed during the processing of
requests.
source§impl Handler<CliBackend, ListFiles> for DossierApiHandler
impl Handler<CliBackend, ListFiles> for DossierApiHandler
source§fn handle<'life0, 'async_trait>(
session: HandlerSession<'life0, CliBackend>,
request: ListFiles
) -> Pin<Box<dyn Future<Output = HandlerResult<ListFiles>> + Send + 'async_trait>>where
'life0: 'async_trait,
fn handle<'life0, 'async_trait>(
session: HandlerSession<'life0, CliBackend>,
request: ListFiles
) -> Pin<Box<dyn Future<Output = HandlerResult<ListFiles>> + Send + 'async_trait>>where
'life0: 'async_trait,
Returns a dispatcher to handle custom api requests. The parameters are
provided so that they can be cloned if needed during the processing of
requests.
source§impl Handler<CliBackend, WriteFileData> for DossierApiHandler
impl Handler<CliBackend, WriteFileData> for DossierApiHandler
source§fn handle<'life0, 'async_trait>(
session: HandlerSession<'life0, CliBackend>,
request: WriteFileData
) -> Pin<Box<dyn Future<Output = HandlerResult<WriteFileData>> + Send + 'async_trait>>where
'life0: 'async_trait,
fn handle<'life0, 'async_trait>(
session: HandlerSession<'life0, CliBackend>,
request: WriteFileData
) -> Pin<Box<dyn Future<Output = HandlerResult<WriteFileData>> + Send + 'async_trait>>where
'life0: 'async_trait,
Returns a dispatcher to handle custom api requests. The parameters are
provided so that they can be cloned if needed during the processing of
requests.