Struct naia_shared::MessageManager
source · pub struct MessageManager { /* private fields */ }
Expand description
Handles incoming/outgoing messages, tracks the delivery status of Messages so that guaranteed Messages can be re-transmitted to the remote host
Implementations§
source§impl MessageManager
impl MessageManager
sourcepub fn new(host_type: HostType, channel_kinds: &ChannelKinds) -> Self
pub fn new(host_type: HostType, channel_kinds: &ChannelKinds) -> Self
Creates a new MessageManager
sourcepub fn send_message(
&mut self,
message_kinds: &MessageKinds,
converter: &mut dyn LocalEntityAndGlobalEntityConverterMut,
channel_kind: &ChannelKind,
message: MessageContainer
)
pub fn send_message( &mut self, message_kinds: &MessageKinds, converter: &mut dyn LocalEntityAndGlobalEntityConverterMut, channel_kind: &ChannelKind, message: MessageContainer )
Queues an Message to be transmitted to the remote host
pub fn collect_outgoing_messages(&mut self, now: &Instant, rtt_millis: &f32)
sourcepub fn has_outgoing_messages(&self) -> bool
pub fn has_outgoing_messages(&self) -> bool
Returns whether the Manager has queued Messages that can be transmitted to the remote host
pub fn write_messages( &mut self, protocol: &Protocol, converter: &mut dyn LocalEntityAndGlobalEntityConverterMut, writer: &mut BitWriter, packet_index: PacketIndex, has_written: &mut bool )
pub fn read_messages<E: Copy + Eq + Hash + Send + Sync>( &mut self, protocol: &Protocol, entity_waitlist: &mut EntityWaitlist, global_converter: &dyn EntityAndGlobalEntityConverter<E>, local_converter: &dyn EntityAndLocalEntityConverter<E>, reader: &mut BitReader<'_> ) -> Result<(), SerdeErr>
sourcepub fn receive_messages<E: Eq + Copy + Hash>(
&mut self,
global_entity_converter: &dyn EntityAndGlobalEntityConverter<E>,
local_entity_converter: &dyn EntityAndLocalEntityConverter<E>,
entity_waitlist: &mut EntityWaitlist
) -> Vec<(ChannelKind, Vec<MessageContainer>)>
pub fn receive_messages<E: Eq + Copy + Hash>( &mut self, global_entity_converter: &dyn EntityAndGlobalEntityConverter<E>, local_entity_converter: &dyn EntityAndLocalEntityConverter<E>, entity_waitlist: &mut EntityWaitlist ) -> Vec<(ChannelKind, Vec<MessageContainer>)>
Retrieve all messages from the channel buffers
source§impl MessageManager
impl MessageManager
sourcepub fn notify_packet_delivered(&mut self, packet_index: PacketIndex)
pub fn notify_packet_delivered(&mut self, packet_index: PacketIndex)
Occurs when a packet has been notified as delivered. Stops tracking the status of Messages in that packet.
Auto Trait Implementations§
impl !RefUnwindSafe for MessageManager
impl Send for MessageManager
impl Sync for MessageManager
impl Unpin for MessageManager
impl !UnwindSafe for MessageManager
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more