Trait tea_sdk::actorx::ActorSend

pub trait ActorSend: Actor + Send + Sync {
    type Invoke<'a>: Future<Output = Result<Vec<u8>, Global>> + Send + 'a
       where Self: 'a;
    type Metadata<'a>: Future<Output = Result<Arc<Metadata>, Global>> + Send + 'a
       where Self: 'a;
    type Size<'a>: Future<Output = Result<u64, Global>> + Send + 'a
       where Self: 'a;
    type InstanceCount<'a>: Future<Output = Result<u8, Global>> + Send + 'a
       where Self: 'a;

    // Required methods
    fn invoke<'a>(&'a self, req: &'a [u8]) -> Self::Invoke<'a>;
    fn metadata(&self) -> Self::Metadata<'_>;
    fn size(&self) -> Self::Size<'_>;
    fn instance_count(&self) -> Self::InstanceCount<'_>;
}

Required Associated Types§

type Invoke<'a>: Future<Output = Result<Vec<u8>, Global>> + Send + 'a where Self: 'a

type Metadata<'a>: Future<Output = Result<Arc<Metadata>, Global>> + Send + 'a where Self: 'a

type Size<'a>: Future<Output = Result<u64, Global>> + Send + 'a where Self: 'a

type InstanceCount<'a>: Future<Output = Result<u8, Global>> + Send + 'a where Self: 'a

Required Methods§

fn invoke<'a>(&'a self, req: &'a [u8]) -> Self::Invoke<'a>

fn metadata(&self) -> Self::Metadata<'_>

fn size(&self) -> Self::Size<'_>

fn instance_count(&self) -> Self::InstanceCount<'_>

Object Safety§

This trait is not object safe.

Implementors§

§

impl<T> ActorSend for Twhere T: ActorTAIT + Send + Sync, <T as ActorTAIT>::Invoke<'a>: for<'a> Send, <T as ActorTAIT>::Metadata<'a>: for<'a> Send, <T as ActorTAIT>::Size<'a>: for<'a> Send, <T as ActorTAIT>::InstanceCount<'a>: for<'a> Send,

§

type Invoke<'a> = impl Future<Output = Result<Vec<u8>, Global>> + Send + 'a where T: 'a

§

type Metadata<'a> = impl Future<Output = Result<Arc<Metadata>, Global>> + Send + 'a where T: 'a

§

type Size<'a> = impl Future<Output = Result<u64, Global>> + Send + 'a where T: 'a

§

type InstanceCount<'a> = impl Future<Output = Result<u8, Global>> + Send + 'a where T: 'a