use embassy_time::Duration;
use crate::interfaces::{
AnnounceBandwidthCap, BitrateBps, EgressCapability, IngressCapability, InterfaceCapabilities,
InterfaceDescriptor, InterfaceId, InterfaceMode, TransportCapability,
};
pub(super) const WATCHDOG: Duration = Duration::from_secs(5);
pub(super) fn descriptor(id: InterfaceId) -> InterfaceDescriptor {
InterfaceDescriptor {
id,
capabilities: InterfaceCapabilities {
ingress: IngressCapability::Enabled,
egress: EgressCapability::Enabled(TransportCapability::CrossInterfaceOnly),
},
mode: InterfaceMode::Full,
gravity: crate::interfaces::InterfaceGravity::ZERO,
bitrate: BitrateBps::guess(1_000_000_000),
hardware_mtu: None,
announce_rate_limit: None,
announce_bandwidth_cap: AnnounceBandwidthCap::Unlimited,
airtime_duty_cycle: None,
common: crate::interfaces::InterfaceCommonPolicy::RNS_DEFAULT,
}
}