net_stream/server/
event.rs1use super::peer_uid::PeerUid;
4use super::MessageTypes;
5use serde::Deserialize;
6use serde::Serialize;
7
8#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
10pub enum Event<M: MessageTypes> {
11 NewPeer(NewPeer),
13
14 TcpMessage(Message<M::TcpToServer>),
16
17 UdpMessage(Message<M::UdpToServer>),
19
20 PeerDisconnect(PeerDisconnect),
22}
23
24#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
26pub struct NewPeer {
27 pub peer_uid: PeerUid,
29}
30
31#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
33pub struct PeerDisconnect {
34 pub peer_uid: PeerUid,
36
37 pub disconnect_reason: DisconnectReason,
39}
40
41#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
43pub enum DisconnectReason {
44 PeerClosedConnection,
46
47 PeerSubmittedUnintelligibleData,
49}
50
51#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
53pub struct Message<T> {
54 pub from: PeerUid,
56
57 pub message: T,
59}