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::net::SocketAddr;

use de_net::Reliability;

pub(super) struct InMessage<M> {
    meta: MessageMeta,
    message: M,
}

impl<M> InMessage<M> {
    pub(super) fn new(source: SocketAddr, reliability: Reliability, message: M) -> Self {
        Self {
            meta: MessageMeta {
                source,
                reliability,
            },
            message,
        }
    }

    pub(super) fn meta(&self) -> MessageMeta {
        self.meta
    }

    pub(super) fn message(&self) -> &M {
        &self.message
    }
}

#[derive(Clone, Copy)]
pub(super) struct MessageMeta {
    pub(super) source: SocketAddr,
    pub(super) reliability: Reliability,
}