pub struct Admission<'a> {
pub mode: &'a ModeResolution,
pub availability: &'a [AdvisorState],
}Expand description
What admission needs besides the records.
The mode and the availability of this moment are read only when a plan is admitted: they are what the plan is computed from and what its snapshot records. Every other input is judged against the records alone, so an empty availability is a complete admission context for them.
use majordomus_cli::reasoning::availability::{ModeResolution, ReasoningMode};
use majordomus_cli::reasoning::record::{AssessmentInput, ReasoningInput};
use majordomus_cli::reasoning::store::{admit, Admission, Loaded};
let mode = ModeResolution { mode: ReasoningMode::Ci, source: "CI".into() };
let admission = Admission { mode: &mode, availability: &[] };
let input = ReasoningInput::Assessment(AssessmentInput {
subject: "a name".into(),
..Default::default()
});
assert!(admit(input, &Loaded::default(), &admission).is_ok());Fields§
§mode: &'a ModeResolutionThe mode in force.
availability: &'a [AdvisorState]Every advisor’s standing now.
Auto Trait Implementations§
impl<'a> Freeze for Admission<'a>
impl<'a> RefUnwindSafe for Admission<'a>
impl<'a> Send for Admission<'a>
impl<'a> Sync for Admission<'a>
impl<'a> Unpin for Admission<'a>
impl<'a> UnsafeUnpin for Admission<'a>
impl<'a> UnwindSafe for Admission<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more