mm1_multinode/remote_subnet/
config.rs1use std::net::SocketAddr;
2
3#[derive(Debug, Clone, serde::Deserialize, serde::Serialize)]
4#[serde(rename_all = "snake_case", tag = "protocol")]
5pub enum RemoteSubnetConfig {
6 Wip(ProtocolWip),
7}
8
9#[derive(Debug, Clone, serde::Deserialize, serde::Serialize)]
10pub struct ProtocolWip {
11 pub(crate) codec: String,
12 pub(crate) link: Link,
13 pub(crate) serde: SerdeFormat,
14 pub(crate) authc: Authc,
15}
16
17#[derive(Debug, Clone, serde::Deserialize, serde::Serialize)]
18#[serde(rename_all = "snake_case")]
19pub(crate) struct Link {
20 pub(crate) bind: SocketAddr,
21 pub(crate) peer: SocketAddr,
22}
23
24#[derive(Debug, Clone, serde::Deserialize, serde::Serialize)]
25#[serde(rename_all = "snake_case")]
26pub(crate) enum Authc {
27 None,
28 SharedSecret(String),
29}
30
31#[derive(
32 Debug, Clone, Copy, serde::Deserialize, serde::Serialize, PartialEq, PartialOrd, Eq, Ord, Hash,
33)]
34#[serde(rename_all = "snake_case")]
35pub(crate) enum SerdeFormat {
36 #[cfg(feature = "format-json")]
37 Json,
38 #[cfg(feature = "format-bincode")]
39 Bincode,
40 #[cfg(feature = "format-rmp")]
41 Rmp,
42}