1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
use std::fmt::Debug;
use naia_socket_shared::LinkConditionerConfig;
use super::{error::NaiaClientSocketError, message_sender::MessageSender, packet::Packet};
pub trait ClientSocketTrait: Debug {
fn receive(&mut self) -> Result<Option<Packet>, NaiaClientSocketError>;
fn get_sender(&mut self) -> MessageSender;
fn with_link_conditioner(
self: Box<Self>,
config: &LinkConditionerConfig,
) -> Box<dyn ClientSocketTrait>;
}
cfg_if! {
if #[cfg(target_arch = "wasm32")] {
pub use crate::webrtc_client_socket::WebrtcClientSocket;
pub type ClientSocket = WebrtcClientSocket;
}
else {
pub use crate::udp_client_socket::UdpClientSocket;
pub type ClientSocket = UdpClientSocket;
}
}