Trait Environment

Source
pub trait Environment:
    Clone
    + Send
    + Sync
    + 'static {
    type Stdin: AsyncRead + Unpin;
    type Stdout: AsyncWrite + Unpin;
    type Stderr: AsyncWrite + Unpin;

Show 13 methods // Required methods fn now(&self) -> OffsetDateTime; fn spawn<F>(&self, fut: F) where F: Future + Send + 'static, F::Output: Send; fn spawn_local<F>(&self, fut: F) where F: Future + 'static; fn env_var(&self, name: &str) -> Option<String>; fn atty_stderr(&self) -> bool; fn stdin(&self) -> Self::Stdin; fn stdout(&self) -> Self::Stdout; fn stderr(&self) -> Self::Stderr; fn read_file<'life0, 'life1, 'async_trait>( &'life0 self, path: &'life1 Url, ) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, Error>> + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn write_file<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, path: &'life1 Url, bytes: &'life2 [u8], ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn fetch_file<'life0, 'life1, 'async_trait>( &'life0 self, path: &'life1 Url, ) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, Error>> + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn root_uri(&self) -> Option<Url>; // Provided method fn to_url(&self, path: &str) -> Option<Url> { ... }
}
Expand description

An environment in which the operations with Jsona are executed.

This is mostly needed for sandboxed environments such as WebAssembly.

Required Associated Types§

Required Methods§

Source

fn now(&self) -> OffsetDateTime

Source

fn spawn<F>(&self, fut: F)
where F: Future + Send + 'static, F::Output: Send,

Source

fn spawn_local<F>(&self, fut: F)
where F: Future + 'static,

Source

fn env_var(&self, name: &str) -> Option<String>

Source

fn atty_stderr(&self) -> bool

Source

fn stdin(&self) -> Self::Stdin

Source

fn stdout(&self) -> Self::Stdout

Source

fn stderr(&self) -> Self::Stderr

Source

fn read_file<'life0, 'life1, 'async_trait>( &'life0 self, path: &'life1 Url, ) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, Error>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn write_file<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, path: &'life1 Url, bytes: &'life2 [u8], ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source

fn fetch_file<'life0, 'life1, 'async_trait>( &'life0 self, path: &'life1 Url, ) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, Error>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn root_uri(&self) -> Option<Url>

Provided Methods§

Source

fn to_url(&self, path: &str) -> Option<Url>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§