pub struct SharedPoolMorselScheduler { /* private fields */ }Implementations§
pub fn new(pool: SharedExecutorPool) -> Self
pub fn execute<T, F>( &self, admission: &MorselAdmission, execute: F, ) -> Result<Vec<T>>
pub fn execute_with_context<T, F>( &self, admission: &MorselAdmission, context: &RuntimeTaskContext, execute: F, ) -> Result<Vec<T>>
Sourcepub fn execute_accounted_ordered<T, F, C>(
&self,
admission: &MorselAdmission,
resources: MorselStreamResources<'_>,
execute: F,
consume: C,
) -> Result<MorselStreamReport>where
T: Send,
F: Fn(Morsel) -> Result<MorselOutput<T>> + Sync,
C: FnMut(Morsel, T) -> Result<MorselStreamControl>,
pub fn execute_accounted_ordered<T, F, C>(
&self,
admission: &MorselAdmission,
resources: MorselStreamResources<'_>,
execute: F,
consume: C,
) -> Result<MorselStreamReport>where
T: Send,
F: Fn(Morsel) -> Result<MorselOutput<T>> + Sync,
C: FnMut(Morsel, T) -> Result<MorselStreamControl>,
Streams worker outputs through a bounded channel and invokes the coordinator consumer in stable morsel ordinal order.
output_reservation_bytes is charged before the worker calls
execute. The returned resident estimate must fit that reservation.
The lease remains live through consume, so a consumer that retains
the value must transfer it into another query-owned account.
Trait Implementations§
Auto Trait Implementations§
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more