pub struct StubPolicyEngine<P: Plan, T: TimeSource> { /* private fields */ }
Expand description
A stub PolicyEngine that just gathers the current time and hands it off to the StubPolicy as the PolicyData.
Implementations§
Source§impl<P, T> StubPolicyEngine<P, T>where
T: TimeSource,
P: Plan,
impl<P, T> StubPolicyEngine<P, T>where
T: TimeSource,
P: Plan,
Trait Implementations§
Source§impl<P: Debug + Plan, T: Debug + TimeSource> Debug for StubPolicyEngine<P, T>
impl<P: Debug + Plan, T: Debug + TimeSource> Debug for StubPolicyEngine<P, T>
Source§impl<P, T> PolicyEngine for StubPolicyEngine<P, T>
impl<P, T> PolicyEngine for StubPolicyEngine<P, T>
type TimeSource = T
type InstallResult = ()
type InstallPlan = P
Source§fn time_source(&self) -> &Self::TimeSource
fn time_source(&self) -> &Self::TimeSource
Provides the time source used by the PolicyEngine to the state machine.
Source§fn compute_next_update_time(
&mut self,
apps: &[App],
scheduling: &UpdateCheckSchedule,
protocol_state: &ProtocolState,
) -> BoxFuture<'_, CheckTiming>
fn compute_next_update_time( &mut self, apps: &[App], scheduling: &UpdateCheckSchedule, protocol_state: &ProtocolState, ) -> BoxFuture<'_, CheckTiming>
When should the next update happen?
Source§fn update_check_allowed(
&mut self,
apps: &[App],
scheduling: &UpdateCheckSchedule,
protocol_state: &ProtocolState,
check_options: &CheckOptions,
) -> BoxFuture<'_, CheckDecision>
fn update_check_allowed( &mut self, apps: &[App], scheduling: &UpdateCheckSchedule, protocol_state: &ProtocolState, check_options: &CheckOptions, ) -> BoxFuture<'_, CheckDecision>
Given the context provided by State, does the Policy allow an update check to
happen at this time? This should be consistent with the compute_next_update_time
so that during background updates, the result of compute_next_update_time will
result in a CheckDecision::Ok() value from this function.
Source§fn update_can_start<'p>(
&mut self,
proposed_install_plan: &'p Self::InstallPlan,
) -> BoxFuture<'p, UpdateDecision>
fn update_can_start<'p>( &mut self, proposed_install_plan: &'p Self::InstallPlan, ) -> BoxFuture<'p, UpdateDecision>
Given the current State, the current PolicyData, can the proposed InstallPlan
be executed at this time.
Source§fn reboot_allowed(
&mut self,
check_options: &CheckOptions,
_install_result: &Self::InstallResult,
) -> BoxFuture<'_, bool>
fn reboot_allowed( &mut self, check_options: &CheckOptions, _install_result: &Self::InstallResult, ) -> BoxFuture<'_, bool>
Is reboot allowed right now.
Source§fn reboot_needed(
&mut self,
install_plan: &Self::InstallPlan,
) -> BoxFuture<'_, bool>
fn reboot_needed( &mut self, install_plan: &Self::InstallPlan, ) -> BoxFuture<'_, bool>
Given the InstallPlan, is reboot needed after update has been installed.
Auto Trait Implementations§
impl<P, T> Freeze for StubPolicyEngine<P, T>where
T: Freeze,
impl<P, T> RefUnwindSafe for StubPolicyEngine<P, T>where
T: RefUnwindSafe,
P: RefUnwindSafe,
impl<P, T> Send for StubPolicyEngine<P, T>
impl<P, T> Sync for StubPolicyEngine<P, T>where
T: Sync,
impl<P, T> Unpin for StubPolicyEngine<P, T>
impl<P, T> UnwindSafe for StubPolicyEngine<P, T>where
T: UnwindSafe,
P: UnwindSafe,
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