Skip to main content

transport_core/
endpoint.rs

1#[derive(Clone, Debug, Eq, PartialEq)]
2pub enum EndpointScheme {
3    Udp,
4    Tcp,
5    Quic,
6    Ipc,
7    SharedMemory,
8    Custom(String),
9}
10
11#[derive(Clone, Debug, Eq, PartialEq)]
12pub struct Endpoint {
13    pub scheme: EndpointScheme,
14    pub address: String,
15    pub namespace: Option<String>,
16    pub labels: Vec<String>,
17}
18
19impl Endpoint {
20    pub fn new(scheme: EndpointScheme, address: impl Into<String>) -> Self {
21        Self {
22            scheme,
23            address: address.into(),
24            namespace: None,
25            labels: Vec::new(),
26        }
27    }
28}