use super::*;
ns_use_this_variety! {
pub use [crate::doc::netstatus::rs]::?::{RouterStatus};
}
#[cfg_attr(
feature = "parse2",
derive(Deftly),
derive_deftly(NetdocParseableFields),
)]
#[derive(Debug, Clone)]
#[non_exhaustive]
pub struct Preamble {
pub consensus_methods: ns_type!( NotPresent, NotPresent, ConsensusMethods ),
#[cfg_attr(feature = "parse2", deftly(netdoc(single_arg)))]
pub consensus_method: ns_type!( u32, u32, NotPresent ),
#[cfg_attr(feature = "parse2", deftly(netdoc(single_arg)))]
pub published: ns_type!( NotPresent, NotPresent, Iso8601TimeSp ),
#[cfg_attr(feature = "parse2", deftly(netdoc(flatten)))]
pub lifetime: Lifetime,
pub voting_delay: Option<(u32, u32)>,
#[cfg_attr(feature = "parse2", deftly(netdoc(single_arg)))]
pub client_versions: Vec<String>,
#[cfg_attr(feature = "parse2", deftly(netdoc(single_arg)))]
pub server_versions: Vec<String>,
#[cfg_attr(feature = "parse2", deftly(netdoc(flatten)))]
pub proto_statuses: Arc<ProtoStatuses>,
pub params: NetParams<i32>,
pub shared_rand_previous_value: Option<SharedRandStatus>,
pub shared_rand_current_value: Option<SharedRandStatus>,
}