Struct pliantdb_server::Server[][src]

pub struct Server { /* fields omitted */ }

A PliantDB server.

Implementations

impl Server[src]

pub async fn open(
    directory: &Path,
    configuration: Configuration
) -> Result<Self, Error>
[src]

Creates or opens a Server with its data stored in directory. schemas is a collection of schema::Id to Schematic pairs. schema::Ids are used as an identifier of a specific Schema, which the Server uses to

pub async fn register_schema<DB: Schema>(&self) -> Result<(), Error>[src]

Registers a schema for use within the server.

pub async fn database<'a, DB: Schema>(
    &self,
    name: &'a str
) -> Result<Database<'_, 'a, DB>, Error>
[src]

Retrieves a database. This function only verifies that the database exists

pub async fn install_certificate(
    &self,
    certificate: &Certificate,
    private_key: &PrivateKey
) -> Result<(), Error>
[src]

Installs an X.509 certificate used for general purpose connections. These currently must be in DER binary format, not ASCII PEM format.

pub async fn certificate(&self) -> Result<Certificate, Error>[src]

Returns the current certificate.

pub async fn listen_on(&self, port: u16) -> Result<(), Error>[src]

Listens for incoming client connections. Does not return until the server shuts down.

pub async fn shutdown(&self, timeout: Option<Duration>) -> Result<(), Error>[src]

Shuts the server down. If a timeout is provided, the server will stop accepting new connections and attempt to respond to any outstanding requests already being processed. After the timeout has elapsed or if no timeout was provided, the server is forcefully shut down.

Trait Implementations

impl Clone for Server[src]

impl Debug for Server[src]

impl ServerConnection for Server[src]

Auto Trait Implementations

impl !RefUnwindSafe for Server

impl Send for Server

impl Sync for Server

impl Unpin for Server

impl !UnwindSafe for Server

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> Pipe for T

impl<T> PipeAsRef for T

impl<T> PipeBorrow for T

impl<T> PipeDeref for T

impl<T> PipeRef for T

impl<T> Pointable for T

type Init = T

The type for initializers.

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> Tap for T

impl<T> Tap for T

impl<T, U> TapAsRef<U> for T where
    U: ?Sized

impl<T, U> TapBorrow<U> for T where
    U: ?Sized

impl<T> TapDeref for T

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,