Trait Gateway

Source
pub trait Gateway<State: StateInstance<Txn = Self>>: Transaction<State::FE> {
    // Required methods
    fn get<'a, 'async_trait, L, V>(
        &'a self,
        link: L,
        key: V,
    ) -> Pin<Box<dyn Future<Output = TCResult<State>> + Send + 'async_trait>>
       where L: Into<ToUrl<'a>> + Send + 'async_trait,
             V: CastInto<Value> + Send + 'async_trait,
             Self: 'async_trait,
             'a: 'async_trait;
    fn put<'a, 'async_trait, L, K, V>(
        &'a self,
        link: L,
        key: K,
        value: V,
    ) -> Pin<Box<dyn Future<Output = TCResult<()>> + Send + 'async_trait>>
       where L: Into<ToUrl<'a>> + Send + 'async_trait,
             K: CastInto<Value> + Send + 'async_trait,
             V: CastInto<State> + Send + 'async_trait,
             Self: 'async_trait,
             'a: 'async_trait;
    fn post<'a, 'async_trait, L, P>(
        &'a self,
        link: L,
        params: P,
    ) -> Pin<Box<dyn Future<Output = TCResult<State>> + Send + 'async_trait>>
       where L: Into<ToUrl<'a>> + Send + 'async_trait,
             P: CastInto<Map<State>> + Send + 'async_trait,
             Self: 'async_trait,
             'a: 'async_trait;
    fn delete<'a, 'async_trait, L, V>(
        &'a self,
        link: L,
        key: V,
    ) -> Pin<Box<dyn Future<Output = TCResult<()>> + Send + 'async_trait>>
       where L: Into<ToUrl<'a>> + Send + 'async_trait,
             V: CastInto<Value> + Send + 'async_trait,
             Self: 'async_trait,
             'a: 'async_trait;
}
Expand description

A transactional remote procedure call client

Required Methods§

Source

fn get<'a, 'async_trait, L, V>( &'a self, link: L, key: V, ) -> Pin<Box<dyn Future<Output = TCResult<State>> + Send + 'async_trait>>
where L: Into<ToUrl<'a>> + Send + 'async_trait, V: CastInto<Value> + Send + 'async_trait, Self: 'async_trait, 'a: 'async_trait,

Resolve a GET op within this transaction context.

Source

fn put<'a, 'async_trait, L, K, V>( &'a self, link: L, key: K, value: V, ) -> Pin<Box<dyn Future<Output = TCResult<()>> + Send + 'async_trait>>
where L: Into<ToUrl<'a>> + Send + 'async_trait, K: CastInto<Value> + Send + 'async_trait, V: CastInto<State> + Send + 'async_trait, Self: 'async_trait, 'a: 'async_trait,

Resolve a PUT op within this transaction context.

Source

fn post<'a, 'async_trait, L, P>( &'a self, link: L, params: P, ) -> Pin<Box<dyn Future<Output = TCResult<State>> + Send + 'async_trait>>
where L: Into<ToUrl<'a>> + Send + 'async_trait, P: CastInto<Map<State>> + Send + 'async_trait, Self: 'async_trait, 'a: 'async_trait,

Resolve a POST op within this transaction context.

Source

fn delete<'a, 'async_trait, L, V>( &'a self, link: L, key: V, ) -> Pin<Box<dyn Future<Output = TCResult<()>> + Send + 'async_trait>>
where L: Into<ToUrl<'a>> + Send + 'async_trait, V: CastInto<Value> + Send + 'async_trait, Self: 'async_trait, 'a: 'async_trait,

Resolve a DELETE op within this transaction context.

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§