Struct async_graphql_actix_web::WSSubscription[][src]

pub struct WSSubscription<Query, Mutation, Subscription, F> { /* fields omitted */ }
Expand description

Actor for subscription via websocket

Implementations

impl<Query, Mutation, Subscription> WSSubscription<Query, Mutation, Subscription, fn(_: Value) -> Ready<Result<Data>>> where
    Query: ObjectType + 'static,
    Mutation: ObjectType + 'static,
    Subscription: SubscriptionType + 'static, 
[src]

pub fn start<T>(
    schema: Schema<Query, Mutation, Subscription>,
    request: &HttpRequest,
    stream: T
) -> Result<HttpResponse, Error> where
    T: Stream<Item = Result<Bytes, PayloadError>> + 'static, 
[src]

Start an actor for subscription connection via websocket.

impl<Query, Mutation, Subscription, F, R> WSSubscription<Query, Mutation, Subscription, F> where
    Query: ObjectType + 'static,
    Mutation: ObjectType + 'static,
    Subscription: SubscriptionType + 'static,
    F: FnOnce(Value) -> R + Unpin + Send + 'static,
    R: Future<Output = Result<Data>> + Send + 'static, 
[src]

pub fn start_with_initializer<T>(
    schema: Schema<Query, Mutation, Subscription>,
    request: &HttpRequest,
    stream: T,
    initializer: F
) -> Result<HttpResponse, Error> where
    T: Stream<Item = Result<Bytes, PayloadError>> + 'static,
    F: FnOnce(Value) -> R + Unpin + Send + 'static,
    R: Future<Output = Result<Data>> + Send + 'static, 
[src]

Start an actor for subscription connection via websocket with an initialization function.

Trait Implementations

impl<Query, Mutation, Subscription, F, R> Actor for WSSubscription<Query, Mutation, Subscription, F> where
    Query: ObjectType + 'static,
    Mutation: ObjectType + 'static,
    Subscription: SubscriptionType + 'static,
    F: FnOnce(Value) -> R + Unpin + Send + 'static,
    R: Future<Output = Result<Data>> + Send + 'static, 
[src]

type Context = WebsocketContext<Self>

Actor execution context type

fn started(&mut self, ctx: &mut Self::Context)[src]

Called when an actor gets polled the first time.

fn stopping(&mut self, ctx: &mut Self::Context) -> Running[src]

Called after an actor is in Actor::Stopping state. Read more

fn stopped(&mut self, ctx: &mut Self::Context)[src]

Called after an actor is stopped. Read more

fn start(self) -> Addr<Self> where
    Self: Actor<Context = Context<Self>>, 
[src]

Start a new asynchronous actor, returning its address. Read more

fn start_default() -> Addr<Self> where
    Self: Actor<Context = Context<Self>> + Default
[src]

Construct and start a new asynchronous actor, returning its address. Read more

fn start_in_arbiter<F>(arb: &Arbiter, f: F) -> Addr<Self> where
    Self: Actor<Context = Context<Self>>,
    F: FnOnce(&mut Context<Self>) -> Self + Send + 'static, 
[src]

Start new actor in arbiter’s thread.

fn create<F>(f: F) -> Addr<Self> where
    Self: Actor<Context = Context<Self>>,
    F: FnOnce(&mut Context<Self>) -> Self, 
[src]

Start a new asynchronous actor given a Context. Read more

impl<Query, Mutation, Subscription, F, R> StreamHandler<Result<Message, ProtocolError>> for WSSubscription<Query, Mutation, Subscription, F> where
    Query: ObjectType + 'static,
    Mutation: ObjectType + 'static,
    Subscription: SubscriptionType + 'static,
    F: FnOnce(Value) -> R + Unpin + Send + 'static,
    R: Future<Output = Result<Data>> + Send + 'static, 
[src]

fn handle(
    &mut self,
    msg: Result<Message, ProtocolError>,
    ctx: &mut Self::Context
)
[src]

Method is called for every message received by this Actor

fn started(&mut self, ctx: &mut Self::Context)[src]

Method is called when stream get polled first time.

fn finished(&mut self, ctx: &mut Self::Context)[src]

Method is called when stream finishes. Read more

fn add_stream<S>(fut: S, ctx: &mut Self::Context) -> SpawnHandle where
    S: Stream<Item = I> + 'static,
    I: 'static,
    Self::Context: AsyncContext<Self>, 
[src]

This method register stream to an actor context and allows to handle Stream in similar way as normal actor messages. Read more

Auto Trait Implementations

impl<Query, Mutation, Subscription, F> !RefUnwindSafe for WSSubscription<Query, Mutation, Subscription, F>

impl<Query, Mutation, Subscription, F> Send for WSSubscription<Query, Mutation, Subscription, F> where
    F: Send,
    Mutation: Send + Sync,
    Query: Send + Sync,
    Subscription: Send + Sync

impl<Query, Mutation, Subscription, F> Sync for WSSubscription<Query, Mutation, Subscription, F> where
    F: Sync,
    Mutation: Send + Sync,
    Query: Send + Sync,
    Subscription: Send + Sync

impl<Query, Mutation, Subscription, F> Unpin for WSSubscription<Query, Mutation, Subscription, F> where
    F: Unpin

impl<Query, Mutation, Subscription, F> !UnwindSafe for WSSubscription<Query, Mutation, Subscription, F>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T> Instrument for T[src]

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

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

fn in_current_span(self) -> Instrumented<Self>[src]

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

impl<T> Instrument for T[src]

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

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

fn in_current_span(self) -> Instrumented<Self>[src]

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

pub fn vzip(self) -> V