Struct Context

Source
pub struct Context<R: Runtime + ?Sized> {
    pub cli: <R as RuntimeDef>::Cli,
    pub conf: <R as RuntimeDef>::Conf,
    pub conf_path: PathBuf,
    pub env: Box<dyn Env<<R as RuntimeDef>::Cli>>,
    pub emitter: Option<EventEmitter>,
    /* private fields */
}
Expand description

Runtime execution context

Fields§

§cli: <R as RuntimeDef>::Cli

Command line parameters

§conf: <R as RuntimeDef>::Conf

Configuration read from the configuration file

§conf_path: PathBuf

Configuration file path

§env: Box<dyn Env<<R as RuntimeDef>::Cli>>

Environment instance

§emitter: Option<EventEmitter>

Event emitter, available when Runtime::MODE == RuntimeMode::Server and command != Command::Deploy

Implementations§

Source§

impl<R> Context<R>
where R: Runtime + ?Sized, <R as RuntimeDef>::Cli: 'static,

Source

pub fn try_new() -> Result<Self>

Create a new instance with a default environment configuration

Source

pub fn try_with<E>(env: E) -> Result<Self>
where E: Env<<R as RuntimeDef>::Cli> + 'static,

Create a new instance with provided environment configuration

Source

pub fn read_config<P: AsRef<Path>>(path: P) -> Result<<R as RuntimeDef>::Conf>

Read configuration from file

Source

pub fn write_config<P: AsRef<Path>>( conf: &<R as RuntimeDef>::Conf, path: P, ) -> Result<()>

Write configuration to file

Source

pub fn control(&self) -> RuntimeControl

Return a runtime control object

Source§

impl<R> Context<R>
where R: Runtime + ?Sized, <R as RuntimeDef>::Cli: 'static,

Source

pub fn command<'a, H, T, Fut>(&mut self, handler: H) -> ProcessIdResponse<'a>
where H: FnOnce(RunCommandContext) -> Fut + 'static, T: Serialize, Fut: Future<Output = Result<T, Error>> + 'a,

Auto Trait Implementations§

§

impl<R> !Freeze for Context<R>

§

impl<R> !RefUnwindSafe for Context<R>

§

impl<R> !Send for Context<R>

§

impl<R> !Sync for Context<R>

§

impl<R> Unpin for Context<R>
where <R as RuntimeDef>::Cli: Unpin, <R as RuntimeDef>::Conf: Unpin, R: ?Sized,

§

impl<R> !UnwindSafe for Context<R>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> ErasedDestructor for T
where T: 'static,