Lines Matching refs:SlotIndex
76 pub enum SlotIndex { enum
82 impl SlotIndex { impl
86 SlotIndex::A => SlotIndex::B, in other()
87 SlotIndex::B => SlotIndex::A, in other()
94 impl From<SlotIndex> for c_uint {
95 fn from(_val: SlotIndex) -> Self { in from()
97 SlotIndex::A => 0, in from()
98 SlotIndex::B => 1, in from()
99 SlotIndex::R => 2, in from()
105 impl TryFrom<c_uint> for SlotIndex { implementation
108 fn try_from(val: c_uint) -> core::result::Result<SlotIndex, Self::Error> { in try_from() argument
110 v if v == (SlotIndex::A).into() => Ok(SlotIndex::A), in try_from()
111 v if v == (SlotIndex::B).into() => Ok(SlotIndex::B), in try_from()
112 v if v == (SlotIndex::R).into() => Ok(SlotIndex::R), in try_from()
220 fn slot_num_index(slot_index: SlotIndex) -> usize { in slot_num_index()
222 SlotIndex::A => 0, in slot_num_index()
223 SlotIndex::B => 1, in slot_num_index()
229 fn slot_data(&self, slot_index: SlotIndex) -> &AbrSlotData { in slot_data()
234 fn slot_data_mut(&mut self, slot_index: SlotIndex) -> &mut AbrSlotData { in slot_data_mut()
284 res[8..12].clone_from_slice(&self.slot_data(SlotIndex::A).serialize());
285 res[12..16].clone_from_slice(&self.slot_data(SlotIndex::B).serialize());
299 fn get_active_slot(&self) -> SlotIndex { in get_active_slot() argument
300 let priority_a = self.slot_data(SlotIndex::A).get_normalized_priority(); in get_active_slot()
301 let priority_b = self.slot_data(SlotIndex::B).get_normalized_priority(); in get_active_slot()
303 return SlotIndex::B; in get_active_slot()
305 return SlotIndex::A; in get_active_slot()
307 return SlotIndex::R; in get_active_slot()
311 fn is_slot_active(&self, slot_index: SlotIndex) -> bool { in is_slot_active()
389 abr_data.slot_data_mut(SlotIndex::A).slot_normalize(); in load_metadata()
390 abr_data.slot_data_mut(SlotIndex::B).slot_normalize(); in load_metadata()
418 pub fn get_boot_slot(abr_ops: &mut dyn Ops, update_metadata: bool) -> (SlotIndex, bool) { in get_boot_slot() argument
428 return (SlotIndex::R, is_slot_marked_successful); in get_boot_slot()
435 Ok(()) => return (SlotIndex::R, is_slot_marked_successful), in get_boot_slot()
450 SlotIndex::R => {} in get_boot_slot()
460 if slot_to_boot != SlotIndex::R && !is_slot_marked_successful { in get_boot_slot()
470 for slot in [SlotIndex::A, SlotIndex::B] { in get_boot_slot()
488 pub fn mark_slot_active(abr_ops: &mut dyn Ops, slot_index: SlotIndex) -> AbrResult<()> { in mark_slot_active()
489 if slot_index == SlotIndex::R { in mark_slot_active()
511 pub fn get_slot_last_marked_active(abr_ops: &mut dyn Ops) -> AbrResult<SlotIndex> { in get_slot_last_marked_active() argument
514 match abr_data.slot_data(SlotIndex::B).priority > abr_data.slot_data(SlotIndex::A).priority in get_slot_last_marked_active()
516 true => SlotIndex::B, in get_slot_last_marked_active()
517 false => SlotIndex::A, in get_slot_last_marked_active()
526 pub fn mark_slot_unbootable(abr_ops: &mut dyn Ops, slot_index: SlotIndex) -> AbrResult<()> { in mark_slot_unbootable()
527 if slot_index == SlotIndex::R { in mark_slot_unbootable()
540 pub fn mark_slot_successful(abr_ops: &mut dyn Ops, slot_index: SlotIndex) -> AbrResult<()> { in mark_slot_successful()
541 if slot_index == SlotIndex::R { in mark_slot_successful()
574 pub fn get_slot_info(abr_ops: &mut dyn Ops, slot_index: SlotIndex) -> AbrResult<SlotInfo> { in get_slot_info()
578 SlotIndex::R => SlotInfo { in get_slot_info()
580 is_active: abr_data.is_slot_active(SlotIndex::R), in get_slot_info()