pub struct Scope<'scope, 'life: 'scope, 'p: 'life, 'd: 'p, S: Plan + 'd = (), Q = ()> { /* private fields */ }Implementations§
Source§impl<'scope, 'life: 'scope, 'p: 'life, 'd: 'p, S: Plan + 'd, Q> Scope<'scope, 'life, 'p, 'd, S, Q>
impl<'scope, 'life: 'scope, 'p: 'life, 'd: 'p, S: Plan + 'd, Q> Scope<'scope, 'life, 'p, 'd, S, Q>
Sourcepub fn pinned(&self) -> Pin<&'life S::Output<'p, 'd>>
pub fn pinned(&self) -> Pin<&'life S::Output<'p, 'd>>
Borrows storage while preserving its pinned address.
pub fn storage(&self) -> &'life S::Output<'p, 'd>
pub fn driver(&mut self) -> Context<'_, 'd>
pub fn hash_state(&mut self, domain: Domain) -> HashState<'d>
pub fn try_root<P: Purpose>(&mut self) -> Result<Root<'d, P>, Exhausted>
pub fn with_app<'report, D, R>( &mut self, report: &'report mut Completion, app: D, f: impl for<'app> FnOnce(App<'app, 'life, 'd, D, Q>) -> R, ) -> Result<'report, R>
Sourcepub fn request<'report, D>(
&mut self,
report: &'report mut Completion,
app: D,
) -> Result<'report, Result<Requested<Q>, Error>>
pub fn request<'report, D>( &mut self, report: &'report mut Completion, app: D, ) -> Result<'report, Result<Requested<Q>, Error>>
Runs to shutdown while retaining the exact request and separate drive result.
pub fn run<'report, D>( &mut self, report: &'report mut Completion, app: D, ) -> Result<'report, Result<(), Error>>
Sourcepub fn with_quiesce<'report, D, R>(
&mut self,
report: &'report mut Completion,
app: D,
timeout: Duration,
f: impl for<'app> FnOnce(App<'app, 'life, 'd, D, Q>) -> R,
) -> Result<'report, R>
pub fn with_quiesce<'report, D, R>( &mut self, report: &'report mut Completion, app: D, timeout: Duration, f: impl for<'app> FnOnce(App<'app, 'life, 'd, D, Q>) -> R, ) -> Result<'report, R>
Bounds application quiescence after the callback returns.
Use App::drive_for or App::run_for to bound execution itself.
Sourcepub fn run_quiesce<'report, D>(
&mut self,
report: &'report mut Completion,
app: D,
timeout: Duration,
) -> Result<'report, Result<(), Error>>
pub fn run_quiesce<'report, D>( &mut self, report: &'report mut Completion, app: D, timeout: Duration, ) -> Result<'report, Result<(), Error>>
Serves until shutdown, then bounds application quiescence.
Sourcepub fn with_at_for<'report, D, R>(
&mut self,
report: &'report mut Completion,
app: D,
start: Deadline<'d>,
timeout: Duration,
f: impl for<'app> FnOnce(Manual<'app, 'life, 'd, D, Q>) -> R,
) -> Result<'report, R>
pub fn with_at_for<'report, D, R>( &mut self, report: &'report mut Completion, app: D, start: Deadline<'d>, timeout: Duration, f: impl for<'app> FnOnce(Manual<'app, 'life, 'd, D, Q>) -> R, ) -> Result<'report, R>
Runs with caller-controlled protocol time and bounds quiescence afterward.
The timeout starts after the callback; Manual::drive_for bounds a drive.
Later wall-clock applications reject entry until wall time catches up.
Auto Trait Implementations§
impl<'scope, 'life, 'p, 'd, S = (), Q = ()> !RefUnwindSafe for Scope<'scope, 'life, 'p, 'd, S, Q>
impl<'scope, 'life, 'p, 'd, S = (), Q = ()> !Send for Scope<'scope, 'life, 'p, 'd, S, Q>
impl<'scope, 'life, 'p, 'd, S = (), Q = ()> !Sync for Scope<'scope, 'life, 'p, 'd, S, Q>
impl<'scope, 'life, 'p, 'd, S = (), Q = ()> !UnwindSafe for Scope<'scope, 'life, 'p, 'd, S, Q>
impl<'scope, 'life, 'p, 'd, S, Q> Freeze for Scope<'scope, 'life, 'p, 'd, S, Q>
impl<'scope, 'life, 'p, 'd, S, Q> Unpin for Scope<'scope, 'life, 'p, 'd, S, Q>
impl<'scope, 'life, 'p, 'd, S, Q> UnsafeUnpin for Scope<'scope, 'life, 'p, 'd, S, Q>where
Pin<&'life <S as Plan>::Output<'p, 'd>>: UnsafeUnpin,
&'scope mut Core<'life, 'd, Q>: UnsafeUnpin,
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