citadel_sdk::prelude

Trait Remote

pub trait Remote: Clone + Send {
    // Required methods
    fn send_with_custom_ticket<'life0, 'async_trait>(
        &'life0 self,
        ticket: Ticket,
        request: NodeRequest,
    ) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>>
       where 'life0: 'async_trait,
             Self: 'async_trait;
    fn send_callback_subscription<'life0, 'async_trait>(
        &'life0 self,
        request: NodeRequest,
    ) -> Pin<Box<dyn Future<Output = Result<KernelStreamSubscription, NetworkError>> + Send + 'async_trait>>
       where 'life0: 'async_trait,
             Self: 'async_trait;
    fn account_manager(&self) -> &AccountManager;
    fn get_next_ticket(&self) -> Ticket;

    // Provided method
    fn send<'life0, 'async_trait>(
        &'life0 self,
        request: NodeRequest,
    ) -> Pin<Box<dyn Future<Output = Result<Ticket, NetworkError>> + Send + 'async_trait>>
       where 'life0: 'async_trait,
             Self: Sync + 'async_trait { ... }
}

Required Methods§

fn send_with_custom_ticket<'life0, 'async_trait>( &'life0 self, ticket: Ticket, request: NodeRequest, ) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: 'async_trait,

fn send_callback_subscription<'life0, 'async_trait>( &'life0 self, request: NodeRequest, ) -> Pin<Box<dyn Future<Output = Result<KernelStreamSubscription, NetworkError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: 'async_trait,

fn account_manager(&self) -> &AccountManager

fn get_next_ticket(&self) -> Ticket

Provided Methods§

fn send<'life0, 'async_trait>( &'life0 self, request: NodeRequest, ) -> Pin<Box<dyn Future<Output = Result<Ticket, NetworkError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

§

impl<'a, T> Remote for &'a T
where T: 'a + Remote + Sync + ?Sized, &'a T: Clone + Send,

§

fn send<'life0, 'async_trait>( &'life0 self, request: NodeRequest, ) -> Pin<Box<dyn Future<Output = Result<Ticket, NetworkError>> + Send + 'async_trait>>
where 'life0: 'async_trait, &'a T: Sync + 'async_trait,

§

fn send_with_custom_ticket<'life0, 'async_trait>( &'life0 self, ticket: Ticket, request: NodeRequest, ) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>>
where 'life0: 'async_trait, &'a T: 'async_trait,

§

fn send_callback_subscription<'life0, 'async_trait>( &'life0 self, request: NodeRequest, ) -> Pin<Box<dyn Future<Output = Result<KernelStreamSubscription, NetworkError>> + Send + 'async_trait>>
where 'life0: 'async_trait, &'a T: 'async_trait,

§

fn account_manager(&self) -> &AccountManager

§

fn get_next_ticket(&self) -> Ticket

§

impl<'a, T> Remote for &'a mut T
where T: 'a + Remote + Sync + ?Sized, &'a mut T: Clone + Send,

§

fn send<'life0, 'async_trait>( &'life0 self, request: NodeRequest, ) -> Pin<Box<dyn Future<Output = Result<Ticket, NetworkError>> + Send + 'async_trait>>
where 'life0: 'async_trait, &'a mut T: Sync + 'async_trait,

§

fn send_with_custom_ticket<'life0, 'async_trait>( &'life0 self, ticket: Ticket, request: NodeRequest, ) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>>
where 'life0: 'async_trait, &'a mut T: 'async_trait,

§

fn send_callback_subscription<'life0, 'async_trait>( &'life0 self, request: NodeRequest, ) -> Pin<Box<dyn Future<Output = Result<KernelStreamSubscription, NetworkError>> + Send + 'async_trait>>
where 'life0: 'async_trait, &'a mut T: 'async_trait,

§

fn account_manager(&self) -> &AccountManager

§

fn get_next_ticket(&self) -> Ticket

§

impl<T> Remote for Box<T>
where T: Remote + Sync + ?Sized, Box<T>: Clone + Send,

§

fn send<'life0, 'async_trait>( &'life0 self, request: NodeRequest, ) -> Pin<Box<dyn Future<Output = Result<Ticket, NetworkError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Box<T>: Sync + 'async_trait,

§

fn send_with_custom_ticket<'life0, 'async_trait>( &'life0 self, ticket: Ticket, request: NodeRequest, ) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Box<T>: 'async_trait,

§

fn send_callback_subscription<'life0, 'async_trait>( &'life0 self, request: NodeRequest, ) -> Pin<Box<dyn Future<Output = Result<KernelStreamSubscription, NetworkError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Box<T>: 'async_trait,

§

fn account_manager(&self) -> &AccountManager

§

fn get_next_ticket(&self) -> Ticket

§

impl<T> Remote for Arc<T>
where T: Remote + Sync + ?Sized, Arc<T>: Clone + Send,

§

fn send<'life0, 'async_trait>( &'life0 self, request: NodeRequest, ) -> Pin<Box<dyn Future<Output = Result<Ticket, NetworkError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Arc<T>: Sync + 'async_trait,

§

fn send_with_custom_ticket<'life0, 'async_trait>( &'life0 self, ticket: Ticket, request: NodeRequest, ) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Arc<T>: 'async_trait,

§

fn send_callback_subscription<'life0, 'async_trait>( &'life0 self, request: NodeRequest, ) -> Pin<Box<dyn Future<Output = Result<KernelStreamSubscription, NetworkError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Arc<T>: 'async_trait,

§

fn account_manager(&self) -> &AccountManager

§

fn get_next_ticket(&self) -> Ticket

Implementors§