[]Struct acute_ecs::systems::schedule::Executor

pub struct Executor { /* fields omitted */ }

Executes a sequence of systems, potentially in parallel, and then commits their command buffers.

Systems are provided in execution order. When the par-schedule feature is enabled, the Executor may run some systems in parallel. The order in which side-effects (e.g. writes to resources or entities) are observed is maintained.

Implementations

impl Executor

pub fn new(systems: Vec<Box<dyn Schedulable + 'static>>) -> Executor

Constructs a new executor for all systems to be run in a single stage.

Systems are provided in the order in which side-effects (e.g. writes to resources or entities) are to be observed.

pub fn into_vec(self) -> Vec<Box<dyn Schedulable + 'static>>

Converts this executor into a vector of its component systems.

pub fn execute(&mut self, world: &mut World, resources: &mut Resources)

Executes all systems and then flushes their command buffers.

pub fn run_systems(&mut self, world: &mut World, resources: &mut Resources)

Executes all systems, potentially in parallel.

Ordering is retained in so far as the order of observed resource and component accesses is maintained.

Call from within rayon::ThreadPool::install() to execute within a specific thread pool.

pub fn flush_command_buffers(&mut self, world: &mut World)

Flushes the recorded command buffers for all systems.

Auto Trait Implementations

impl !RefUnwindSafe for Executor

impl Send for Executor

impl Sync for Executor

impl Unpin for Executor

impl !UnwindSafe for Executor

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Component for T where
    T: 'static + Send + Sync

impl<T> Downcast for T where
    T: Any

impl<T> DowncastSync for T where
    T: Send + Sync + Any

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Resource for T where
    T: 'static + Send + Sync

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.