pub trait ServiceMapping<S> where
    S: Service,
    Self::RequestWrapper: Message,
    Self::ResponseWrapper: Message
{ type RequestWrapper; type ResponseWrapper; type ClientState; fn unwrap_request(
        wrapped: &Self::RequestWrapper,
        sample_info: &SampleInfo
    ) -> (RmwRequestId, S::Request);
fn wrap_response(
        r_id: RmwRequestId,
        response: S::Response
    ) -> (Self::ResponseWrapper, Option<SampleIdentity>);
fn new_client_state(request_sender: GUID) -> Self::ClientState;
fn wrap_request(
        state: &mut Self::ClientState,
        request: S::Request
    ) -> (Self::RequestWrapper, Option<RmwRequestId>);
fn request_id_after_wrap(
        state: &mut Self::ClientState,
        write_result: SampleIdentity
    ) -> RmwRequestId;
fn unwrap_response(
        state: &mut Self::ClientState,
        wrapped: Self::ResponseWrapper,
        sample_info: SampleInfo
    ) -> (RmwRequestId, S::Response); }

Associated Types

Required methods

Implementors