use bacnet_types::primitives::ObjectIdentifier;
#[derive(Debug, Clone, PartialEq, Eq)]
pub(crate) enum DiscoveryCommand {
WhoHas {
name: String,
},
WhoIsRouter,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub(crate) struct FoundRow {
pub(crate) device: u32,
pub(crate) object: ObjectIdentifier,
pub(crate) name: String,
pub(crate) address: String,
pub(crate) via: Option<String>,
pub(crate) network: Option<u16>,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub(crate) enum DiscoveryEvent {
IHave(FoundRow),
Router {
router: String,
networks: Vec<u16>,
},
NetworkNumber {
network: u16,
configured: bool,
},
Rejected {
router: String,
network: u16,
reason: String,
},
Refused {
command: DiscoveryCommand,
reason: String,
},
}