MessageChannelSender

Trait MessageChannelSender 

Source
pub trait MessageChannelSender: ChannelSender<MessageContainer> {
    // Required methods
    fn write_messages(
        &mut self,
        message_kinds: &MessageKinds,
        converter: &mut dyn LocalEntityAndGlobalEntityConverterMut,
        writer: &mut BitWriter,
        has_written: &mut bool,
    ) -> Option<Vec<MessageIndex>>;
    fn send_outgoing_request(
        &mut self,
        message_kinds: &MessageKinds,
        converter: &mut dyn LocalEntityAndGlobalEntityConverterMut,
        global_request_id: GlobalRequestId,
        request: MessageContainer,
    );
    fn send_outgoing_response(
        &mut self,
        message_kinds: &MessageKinds,
        converter: &mut dyn LocalEntityAndGlobalEntityConverterMut,
        local_response_id: LocalResponseId,
        response: MessageContainer,
    );
    fn process_incoming_response(
        &mut self,
        local_request_id: &LocalRequestId,
    ) -> Option<GlobalRequestId>;
}

Required Methods§

Source

fn write_messages( &mut self, message_kinds: &MessageKinds, converter: &mut dyn LocalEntityAndGlobalEntityConverterMut, writer: &mut BitWriter, has_written: &mut bool, ) -> Option<Vec<MessageIndex>>

Gets Messages from the internal buffer and writes it to the BitWriter

Source

fn send_outgoing_request( &mut self, message_kinds: &MessageKinds, converter: &mut dyn LocalEntityAndGlobalEntityConverterMut, global_request_id: GlobalRequestId, request: MessageContainer, )

Queues a Request to be transmitted to the remote host into an internal buffer

Source

fn send_outgoing_response( &mut self, message_kinds: &MessageKinds, converter: &mut dyn LocalEntityAndGlobalEntityConverterMut, local_response_id: LocalResponseId, response: MessageContainer, )

Queues a Response to be transmitted to the remote host into an internal buffer

Source

fn process_incoming_response( &mut self, local_request_id: &LocalRequestId, ) -> Option<GlobalRequestId>

Request is finished, so clean up the local request id and return the global request id

Implementors§