use super::{caps_section::*, router_entry::*, *};
#[derive(Default)]
pub struct PeakSectionProtocol;
impl PeakSectionProtocol {
pub fn read_peak_entries(
req: &mut FwReq,
node: &mut FwNode,
sections: &ExtensionSections,
caps: &ExtensionCaps,
timeout_ms: u32,
) -> Result<Vec<RouterEntry>, Error> {
if !caps.general.peak_avail {
Err(Error::new(
ProtocolExtensionError::Peak,
"Peak is not available",
))?
}
let entries = caps.router.maximum_entry_count as usize;
read_router_entries(req, node, caps, sections.peak.offset, entries, timeout_ms)
.map_err(|e| Error::new(ProtocolExtensionError::Peak, &e.to_string()))
}
}