naia_shared/messages/channels/
default_channels.rs1use crate::{
2 messages::channels::channel::{
3 ChannelDirection, ChannelMode, ReliableSettings, TickBufferSettings,
4 },
5 Channel, Protocol, ProtocolPlugin,
6};
7
8#[derive(Channel)]
9pub struct UnorderedUnreliableChannel;
10#[derive(Channel)]
11pub struct SequencedUnreliableChannel;
12#[derive(Channel)]
13pub struct UnorderedReliableChannel;
14#[derive(Channel)]
15pub struct SequencedReliableChannel;
16#[derive(Channel)]
17pub struct OrderedReliableChannel;
18#[derive(Channel)]
19pub struct TickBufferedChannel;
20
21pub(crate) struct DefaultChannelsPlugin;
22impl ProtocolPlugin for DefaultChannelsPlugin {
23 fn build(&self, protocol: &mut Protocol) {
24 protocol
25 .add_channel::<UnorderedUnreliableChannel>(
26 ChannelDirection::Bidirectional,
27 ChannelMode::UnorderedUnreliable,
28 )
29 .add_channel::<SequencedUnreliableChannel>(
30 ChannelDirection::Bidirectional,
31 ChannelMode::SequencedUnreliable,
32 )
33 .add_channel::<UnorderedReliableChannel>(
34 ChannelDirection::Bidirectional,
35 ChannelMode::UnorderedReliable(ReliableSettings::default()),
36 )
37 .add_channel::<SequencedReliableChannel>(
38 ChannelDirection::Bidirectional,
39 ChannelMode::SequencedReliable(ReliableSettings::default()),
40 )
41 .add_channel::<OrderedReliableChannel>(
42 ChannelDirection::Bidirectional,
43 ChannelMode::OrderedReliable(ReliableSettings::default()),
44 )
45 .add_channel::<TickBufferedChannel>(
46 ChannelDirection::ClientToServer,
47 ChannelMode::TickBuffered(TickBufferSettings::default()),
48 );
49 }
50}