pub struct ReplicationPlanner;Expand description
Simple range/visibility-based replication planner.
Implementations§
Source§impl ReplicationPlanner
impl ReplicationPlanner
Sourcepub fn plan_for_viewer_configured_into<F, E, L>(
station: &Station,
index: &CellIndex,
policies: &PolicyTable,
viewer: &ViewerQuery,
filter: &F,
budget: ReplicationBudget,
mode: ReplicationSelectionMode,
eligible: E,
last_sent: L,
scratch: &mut ReplicationScratch,
plan: &mut ReplicationPlan,
)where
F: VisibilityFilter,
E: Fn(&ViewerQuery, EntityHandle, &EntityRecord) -> bool,
L: Fn(&ViewerQuery, EntityHandle) -> Option<Tick>,
pub fn plan_for_viewer_configured_into<F, E, L>(
station: &Station,
index: &CellIndex,
policies: &PolicyTable,
viewer: &ViewerQuery,
filter: &F,
budget: ReplicationBudget,
mode: ReplicationSelectionMode,
eligible: E,
last_sent: L,
scratch: &mut ReplicationScratch,
plan: &mut ReplicationPlan,
)where
F: VisibilityFilter,
E: Fn(&ViewerQuery, EntityHandle, &EntityRecord) -> bool,
L: Fn(&ViewerQuery, EntityHandle) -> Option<Tick>,
Plans one viewer through the canonical allocation-light configured kernel.
eligible applies caller-owned dirty or delivery state before budget
consumption. last_sent supplies optional caller-owned cadence state;
returning None admits the candidate without prior-send delay.
Sourcepub fn plan_for_viewers_configured_into<'a, F, E, L>(
station: &Station,
index: &CellIndex,
policies: &PolicyTable,
viewers: &[ViewerQuery],
filter: &F,
budget: ReplicationBudget,
mode: ReplicationSelectionMode,
max_cached_query_ranges: usize,
eligible: E,
last_sent: L,
scratch: &mut ReplicationScratch,
batch: &'a mut ReplicationBatchScratch,
) -> ReplicationBatchView<'a>where
F: VisibilityFilter,
E: Fn(&ViewerQuery, EntityHandle, &EntityRecord) -> bool,
L: Fn(&ViewerQuery, EntityHandle) -> Option<Tick>,
pub fn plan_for_viewers_configured_into<'a, F, E, L>(
station: &Station,
index: &CellIndex,
policies: &PolicyTable,
viewers: &[ViewerQuery],
filter: &F,
budget: ReplicationBudget,
mode: ReplicationSelectionMode,
max_cached_query_ranges: usize,
eligible: E,
last_sent: L,
scratch: &mut ReplicationScratch,
batch: &'a mut ReplicationBatchScratch,
) -> ReplicationBatchView<'a>where
F: VisibilityFilter,
E: Fn(&ViewerQuery, EntityHandle, &EntityRecord) -> bool,
L: Fn(&ViewerQuery, EntityHandle) -> Option<Tick>,
Plans viewers in input order through the configured reusable kernel.
Sourcepub fn plan_for_viewer_into<F: VisibilityFilter>(
station: &Station,
index: &CellIndex,
policies: &PolicyTable,
viewer: &ViewerQuery,
filter: &F,
budget: ReplicationBudget,
scratch: &mut ReplicationScratch,
plan: &mut ReplicationPlan,
)
pub fn plan_for_viewer_into<F: VisibilityFilter>( station: &Station, index: &CellIndex, policies: &PolicyTable, viewer: &ViewerQuery, filter: &F, budget: ReplicationBudget, scratch: &mut ReplicationScratch, plan: &mut ReplicationPlan, )
Plans one viewer into caller-owned scratch and output storage.
Sourcepub fn plan_for_viewers_into<'a, F: VisibilityFilter>(
station: &Station,
index: &CellIndex,
policies: &PolicyTable,
viewers: &[ViewerQuery],
filter: &F,
budget: ReplicationBudget,
scratch: &mut ReplicationScratch,
batch: &'a mut ReplicationBatchScratch,
) -> ReplicationBatchView<'a>
pub fn plan_for_viewers_into<'a, F: VisibilityFilter>( station: &Station, index: &CellIndex, policies: &PolicyTable, viewers: &[ViewerQuery], filter: &F, budget: ReplicationBudget, scratch: &mut ReplicationScratch, batch: &'a mut ReplicationBatchScratch, ) -> ReplicationBatchView<'a>
Plans viewers into caller-owned scratch and ordered output storage.
Sourcepub fn plan_for_viewer_range_into(
station: &Station,
index: &CellIndex,
policies: &PolicyTable,
viewer: &ViewerQuery,
budget: ReplicationBudget,
scratch: &mut ReplicationScratch,
plan: &mut ReplicationPlan,
)
pub fn plan_for_viewer_range_into( station: &Station, index: &CellIndex, policies: &PolicyTable, viewer: &ViewerQuery, budget: ReplicationBudget, scratch: &mut ReplicationScratch, plan: &mut ReplicationPlan, )
Plans one range-only viewer into reusable output with optional SIMD filtering.
Sourcepub fn plan_for_viewers_range_into<'a>(
station: &Station,
index: &CellIndex,
policies: &PolicyTable,
viewers: &[ViewerQuery],
budget: ReplicationBudget,
scratch: &mut ReplicationScratch,
batch: &'a mut ReplicationBatchScratch,
) -> ReplicationBatchView<'a>
pub fn plan_for_viewers_range_into<'a>( station: &Station, index: &CellIndex, policies: &PolicyTable, viewers: &[ViewerQuery], budget: ReplicationBudget, scratch: &mut ReplicationScratch, batch: &'a mut ReplicationBatchScratch, ) -> ReplicationBatchView<'a>
Plans a range-only viewer batch into caller-owned reusable output slots.
Trait Implementations§
Source§impl Clone for ReplicationPlanner
impl Clone for ReplicationPlanner
Source§fn clone(&self) -> ReplicationPlanner
fn clone(&self) -> ReplicationPlanner
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for ReplicationPlanner
Source§impl Debug for ReplicationPlanner
impl Debug for ReplicationPlanner
Source§impl Default for ReplicationPlanner
impl Default for ReplicationPlanner
Source§fn default() -> ReplicationPlanner
fn default() -> ReplicationPlanner
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for ReplicationPlanner
impl RefUnwindSafe for ReplicationPlanner
impl Send for ReplicationPlanner
impl Sync for ReplicationPlanner
impl Unpin for ReplicationPlanner
impl UnsafeUnpin for ReplicationPlanner
impl UnwindSafe for ReplicationPlanner
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