[][src]Struct lib3h_zombie_actor::GhostParentWrapper

pub struct GhostParentWrapper<UserData, RequestToParent: 'static, RequestToParentResponse: 'static, RequestToChild: 'static, RequestToChildResponse: 'static, Error: 'static + Debug, Actor: GhostActor<RequestToParent, RequestToParentResponse, RequestToChild, RequestToChildResponse, Error>> { /* fields omitted */ }

helper struct that merges (on the parent side) the actual child GhostActor instance, with the child's ghost channel endpoint. You only have to call process() on this one struct, and it provides all the request / drain_messages etc functions from GhostEndpoint.

Methods

impl<UserData, RequestToParent: 'static, RequestToParentResponse: 'static, RequestToChild: 'static, RequestToChildResponse: 'static, Error: 'static + Debug, Actor: GhostActor<RequestToParent, RequestToParentResponse, RequestToChild, RequestToChildResponse, Error>> GhostParentWrapper<UserData, RequestToParent, RequestToParentResponse, RequestToChild, RequestToChildResponse, Error, Actor>[src]

pub fn new(actor: Actor, request_id_prefix: &str) -> Self[src]

wrap a GhostActor instance and it's parent channel endpoint.

Trait Implementations

impl<UserData, RequestToParent: 'static, RequestToParentResponse: 'static, RequestToChild: 'static, RequestToChildResponse: 'static, Error: 'static + Debug, Actor: GhostActor<RequestToParent, RequestToParentResponse, RequestToChild, RequestToChildResponse, Error>> AsMut<Actor> for GhostParentWrapper<UserData, RequestToParent, RequestToParentResponse, RequestToChild, RequestToChildResponse, Error, Actor>[src]

impl<UserData, RequestToParent: 'static, RequestToParentResponse: 'static, RequestToChild: 'static, RequestToChildResponse: 'static, Error: 'static + Debug, Actor: GhostActor<RequestToParent, RequestToParentResponse, RequestToChild, RequestToChildResponse, Error>> AsRef<Actor> for GhostParentWrapper<UserData, RequestToParent, RequestToParentResponse, RequestToChild, RequestToChildResponse, Error, Actor>[src]

impl<UserData, RequestToParent: 'static, RequestToParentResponse: 'static, RequestToChild: 'static, RequestToChildResponse: 'static, Error: 'static + Debug, Actor: GhostActor<RequestToParent, RequestToParentResponse, RequestToChild, RequestToChildResponse, Error>> GhostCanTrack<UserData, RequestToChild, RequestToChildResponse, RequestToParent, RequestToParentResponse, Error> for GhostParentWrapper<UserData, RequestToParent, RequestToParentResponse, RequestToChild, RequestToChildResponse, Error, Actor>[src]

fn publish(&mut self, span: Span, payload: RequestToChild) -> GhostResult<()>[src]

see GhostContextEndpoint::publish

fn request(
    &mut self,
    span: Span,
    payload: RequestToChild,
    cb: GhostCallback<UserData, RequestToChildResponse, Error>
) -> GhostResult<()>
[src]

see GhostContextEndpoint::request

fn request_options(
    &mut self,
    span: Span,
    payload: RequestToChild,
    cb: GhostCallback<UserData, RequestToChildResponse, Error>,
    options: GhostTrackRequestOptions
) -> GhostResult<()>
[src]

see GhostContextEndpoint::request

fn drain_messages(
    &mut self
) -> Vec<GhostMessage<RequestToParent, RequestToChild, RequestToParentResponse, Error>>
[src]

see GhostContextEndpoint::drain_messages

fn process(&mut self, user_data: &mut UserData) -> GhostResult<WorkWasDone>[src]

see GhostContextEndpoint::process and GhostActor::process

Auto Trait Implementations

impl<UserData, RequestToParent, RequestToParentResponse, RequestToChild, RequestToChildResponse, Error, Actor> !RefUnwindSafe for GhostParentWrapper<UserData, RequestToParent, RequestToParentResponse, RequestToChild, RequestToChildResponse, Error, Actor>

impl<UserData, RequestToParent, RequestToParentResponse, RequestToChild, RequestToChildResponse, Error, Actor> !Send for GhostParentWrapper<UserData, RequestToParent, RequestToParentResponse, RequestToChild, RequestToChildResponse, Error, Actor>

impl<UserData, RequestToParent, RequestToParentResponse, RequestToChild, RequestToChildResponse, Error, Actor> !Sync for GhostParentWrapper<UserData, RequestToParent, RequestToParentResponse, RequestToChild, RequestToChildResponse, Error, Actor>

impl<UserData, RequestToParent, RequestToParentResponse, RequestToChild, RequestToChildResponse, Error, Actor> Unpin for GhostParentWrapper<UserData, RequestToParent, RequestToParentResponse, RequestToChild, RequestToChildResponse, Error, Actor> where
    Actor: Unpin,
    Error: Unpin,
    RequestToChildResponse: Unpin,
    RequestToParent: Unpin

impl<UserData, RequestToParent, RequestToParentResponse, RequestToChild, RequestToChildResponse, Error, Actor> !UnwindSafe for GhostParentWrapper<UserData, RequestToParent, RequestToParentResponse, RequestToChild, RequestToChildResponse, Error, Actor>

Blanket Implementations

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

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

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

impl<T> Erased for T

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

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

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.

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.

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