Add fields to BridgeLine

This commit is contained in:
onyinyang 2023-03-09 16:59:20 -05:00
parent fd4f715ad9
commit a76fdc98b9
No known key found for this signature in database
GPG Key ID: 156A6435430C2036
1 changed files with 9 additions and 3 deletions

View File

@ -36,16 +36,20 @@ pub const MAX_BRIDGES_PER_BUCKET: usize = 3;
/// level 1) /// level 1)
pub const MIN_BUCKET_REACHABILITY: usize = 2; pub const MIN_BUCKET_REACHABILITY: usize = 2;
/// A bridge information line /// A bridge information line
#[serde_as] #[serde_as]
#[derive(Serialize, Deserialize, Copy, Clone, Hash, Eq, PartialEq, Debug)] #[derive(Serialize, Deserialize, Clone, Copy, Hash, Eq, PartialEq, Debug)]
pub struct BridgeLine { pub struct BridgeLine {
/// pluggable transport protocol string as a byte array
pub pt_type: [u8; 25],
/// IPv4 or IPv6 address /// IPv4 or IPv6 address
pub addr: [u8; 16], pub addr: [u8; 16],
/// port /// port
pub port: u16, pub port: u16,
/// other protocol information, including pluggable transport, /// fingerprint as a byte array
/// public key, etc. pub fingerprint: [u8; 20],
/// other protocol information, including cert and iat mode
#[serde_as(as = "[_; BRIDGE_BYTES - 18]")] #[serde_as(as = "[_; BRIDGE_BYTES - 18]")]
pub info: [u8; BRIDGE_BYTES - 18], pub info: [u8; BRIDGE_BYTES - 18],
} }
@ -68,8 +72,10 @@ impl Default for BridgeLine {
/// An "empty" BridgeLine is represented by all zeros /// An "empty" BridgeLine is represented by all zeros
fn default() -> Self { fn default() -> Self {
Self { Self {
pt_type: [0; 25],
addr: [0; 16], addr: [0; 16],
port: 0, port: 0,
fingerprint: [0; 20],
info: [0; BRIDGE_BYTES - 18], info: [0; BRIDGE_BYTES - 18],
} }
} }