pub struct IncomingInvocation<Ctx, Sub: Subscriber, Acc: Acceptor> {
    pub context: Ctx,
    pub payload: Bytes,
    pub param_subject: Acc::Subject,
    pub error_subject: Acc::Subject,
    pub handshake_subject: Sub::Subject,
    pub subscriber: Sub,
    pub acceptor: Acc,
}
Expand description

Invocation received from a peer

Fields§

§context: Ctx§payload: Bytes§param_subject: Acc::Subject§error_subject: Acc::Subject§handshake_subject: Sub::Subject§subscriber: Sub§acceptor: Acc

Implementations§

source§

impl<Ctx, Sub, Acc> IncomingInvocation<Ctx, Sub, Acc>
where Acc: Acceptor, Acc::Subject: Clone, Sub: Subscriber<Subject = Acc::Subject, SubscribeError = Error, StreamError = Error> + Send, Sub::Stream: 'static,

source

pub async fn accept_static<'a, T: Receive<'a> + Subscribe + 'static>( self ) -> Result<AcceptedInvocation<Ctx, T, <Acc as Acceptor>::Transmitter>>

Accept with statically-typed parameter type T

source

pub async fn accept_dynamic( self, params: Arc<[Type]> ) -> Result<AcceptedInvocation<Ctx, Vec<Value>, <Acc as Acceptor>::Transmitter>>

Accept with dynamically-typed parameter type params

Auto Trait Implementations§

§

impl<Ctx, Sub, Acc> !Freeze for IncomingInvocation<Ctx, Sub, Acc>

§

impl<Ctx, Sub, Acc> RefUnwindSafe for IncomingInvocation<Ctx, Sub, Acc>

§

impl<Ctx, Sub, Acc> Send for IncomingInvocation<Ctx, Sub, Acc>
where Sub: Sync + Send, Ctx: Send, <Acc as Acceptor>::Subject: Send, Acc: Send,

§

impl<Ctx, Sub, Acc> Sync for IncomingInvocation<Ctx, Sub, Acc>
where Sub: Sync, Ctx: Sync, <Acc as Acceptor>::Subject: Sync, Acc: Sync,

§

impl<Ctx, Sub, Acc> Unpin for IncomingInvocation<Ctx, Sub, Acc>
where Sub: Sync + Unpin, Ctx: Unpin, <Acc as Acceptor>::Subject: Unpin, <Sub as Subscriber>::Subject: Unpin, Acc: Unpin,

§

impl<Ctx, Sub, Acc> UnwindSafe for IncomingInvocation<Ctx, Sub, Acc>
where Sub: Sync + UnwindSafe, Ctx: UnwindSafe, <Acc as Acceptor>::Subject: UnwindSafe, <Sub as Subscriber>::Subject: UnwindSafe, Acc: UnwindSafe,

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> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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>,

§

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>,

§

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> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more