use super::*;
ns_use_this_variety! {
pub use [crate::doc::netstatus::rs]::?::{RouterStatus};
}
#[derive(Clone, Debug, Deftly, Default)]
#[derive_deftly(Constructor, ItemValueEncodable, ItemValueParseable)]
#[allow(clippy::exhaustive_structs)]
pub struct NetworkStatusVersionItem {
pub version: NetworkStatusVersion,
pub variety: VarietyKeyword,
#[doc(hidden)]
#[deftly(netdoc(skip))]
pub __non_exhaustive: (),
}
#[derive(Clone, Debug, Deftly)]
#[derive_deftly(Constructor, NetdocEncodableFields, NetdocParseableFields)]
#[allow(clippy::exhaustive_structs)]
pub struct Preamble {
#[deftly(constructor)]
pub consensus_methods: ns_type!( NotPresent, NotPresent, ConsensusMethods ),
#[deftly(constructor)]
pub consensus_method: ns_type!( (u32,), (u32,), NotPresent ),
#[deftly(constructor)]
pub published: ns_type!( NotPresent, NotPresent, (Iso8601TimeSp,) ),
#[deftly(constructor)]
#[deftly(netdoc(flatten))]
pub lifetime: Lifetime,
pub voting_delay: Option<(u32, u32)>,
#[deftly(constructor)]
#[deftly(netdoc(single_arg))]
pub client_versions: Vec<String>,
#[deftly(constructor)]
#[deftly(netdoc(single_arg))]
pub server_versions: Vec<String>,
#[deftly(constructor)]
#[deftly(netdoc(with = "relay_flags::ParserEncoder::<relay_flags::NoImplicitRepr>"))]
pub known_flags: DocRelayFlags,
#[deftly(constructor)]
#[deftly(netdoc(flatten))]
pub proto_statuses: Arc<ProtoStatuses>,
#[deftly(constructor)]
pub params: NetParams<i32>,
#[deftly(netdoc(flatten))]
pub shared_rand: ns_type!( SharedRandStatuses, SharedRandStatuses, NotPresent ),
#[doc(hidden)]
#[deftly(netdoc(skip))]
pub __non_exhaustive: (),
}
#[derive(Clone, Debug, Deftly)]
#[derive_deftly(Constructor, NetdocEncodable, NetdocParseable)]
#[allow(clippy::exhaustive_structs)]
pub struct Footer {
pub directory_footer: (),
#[deftly(constructor, netdoc(flatten))]
pub consensus: ns_type!(ConsensusFooterFields, ConsensusFooterFields, NotPresent),
#[doc(hidden)]
#[deftly(netdoc(skip))]
pub __non_exhaustive: (),
}
#[derive(Deftly, Clone, Debug)]
#[derive_deftly(NetdocParseableSignatures)]
#[deftly(netdoc(signatures(hashes_accu = "DirectorySignaturesHashesAccu")))]
#[non_exhaustive]
pub struct NetworkStatusSignatures {
pub directory_signature: ns_type!(Vec<Signature>, Vec<Signature>, Signature),
}