Buffering

Trait Buffering 

Source
pub trait Buffering:
    'static
    + Send
    + Sync
    + Clone {
    // Required methods
    fn verify_scope(&self, scope: Entity);
    fn buffered_count(
        &self,
        session: Entity,
        world: &World,
    ) -> Result<usize, OperationError>;
    fn buffered_count_for(
        &self,
        buffer: Entity,
        session: Entity,
        world: &World,
    ) -> Result<usize, OperationError>;
    fn add_listener(
        &self,
        listener: Entity,
        world: &mut World,
    ) -> OperationResult;
    fn gate_action(
        &self,
        session: Entity,
        action: Gate,
        world: &mut World,
        roster: &mut OperationRoster,
    ) -> OperationResult;
    fn as_input(&self) -> SmallVec<[Entity; 8]>;
    fn ensure_active_session(
        &self,
        session: Entity,
        world: &mut World,
    ) -> OperationResult;
}

Required Methods§

Source

fn verify_scope(&self, scope: Entity)

Source

fn buffered_count( &self, session: Entity, world: &World, ) -> Result<usize, OperationError>

Source

fn buffered_count_for( &self, buffer: Entity, session: Entity, world: &World, ) -> Result<usize, OperationError>

Source

fn add_listener(&self, listener: Entity, world: &mut World) -> OperationResult

Source

fn gate_action( &self, session: Entity, action: Gate, world: &mut World, roster: &mut OperationRoster, ) -> OperationResult

Source

fn as_input(&self) -> SmallVec<[Entity; 8]>

Source

fn ensure_active_session( &self, session: Entity, world: &mut World, ) -> OperationResult

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<B: Buffering> Buffering for Vec<B>

Source§

fn verify_scope(&self, scope: Entity)

Source§

fn buffered_count( &self, session: Entity, world: &World, ) -> Result<usize, OperationError>

Source§

fn buffered_count_for( &self, buffer_entity: Entity, session: Entity, world: &World, ) -> Result<usize, OperationError>

Source§

fn add_listener(&self, listener: Entity, world: &mut World) -> OperationResult

Source§

fn gate_action( &self, session: Entity, action: Gate, world: &mut World, roster: &mut OperationRoster, ) -> OperationResult

Source§

fn as_input(&self) -> SmallVec<[Entity; 8]>

Source§

fn ensure_active_session( &self, session: Entity, world: &mut World, ) -> OperationResult

Source§

impl<T0: Buffering, T1: Buffering> Buffering for (T0, T1)

Source§

fn verify_scope(&self, scope: Entity)

Source§

fn buffered_count( &self, session: Entity, world: &World, ) -> Result<usize, OperationError>

Source§

fn buffered_count_for( &self, buffer: Entity, session: Entity, world: &World, ) -> Result<usize, OperationError>

Source§

fn add_listener(&self, listener: Entity, world: &mut World) -> OperationResult

Source§

fn gate_action( &self, session: Entity, action: Gate, world: &mut World, roster: &mut OperationRoster, ) -> OperationResult

Source§

fn as_input(&self) -> SmallVec<[Entity; 8]>

Source§

fn ensure_active_session( &self, session: Entity, world: &mut World, ) -> OperationResult

Source§

impl<T0: Buffering, T1: Buffering, T2: Buffering> Buffering for (T0, T1, T2)

Source§

fn verify_scope(&self, scope: Entity)

Source§

fn buffered_count( &self, session: Entity, world: &World, ) -> Result<usize, OperationError>

Source§

fn buffered_count_for( &self, buffer: Entity, session: Entity, world: &World, ) -> Result<usize, OperationError>

Source§

fn add_listener(&self, listener: Entity, world: &mut World) -> OperationResult

Source§

fn gate_action( &self, session: Entity, action: Gate, world: &mut World, roster: &mut OperationRoster, ) -> OperationResult

Source§

fn as_input(&self) -> SmallVec<[Entity; 8]>

Source§

fn ensure_active_session( &self, session: Entity, world: &mut World, ) -> OperationResult

Source§

impl<T0: Buffering, T1: Buffering, T2: Buffering, T3: Buffering> Buffering for (T0, T1, T2, T3)

Source§

fn verify_scope(&self, scope: Entity)

Source§

fn buffered_count( &self, session: Entity, world: &World, ) -> Result<usize, OperationError>

Source§

fn buffered_count_for( &self, buffer: Entity, session: Entity, world: &World, ) -> Result<usize, OperationError>

Source§

fn add_listener(&self, listener: Entity, world: &mut World) -> OperationResult

Source§

fn gate_action( &self, session: Entity, action: Gate, world: &mut World, roster: &mut OperationRoster, ) -> OperationResult

Source§

fn as_input(&self) -> SmallVec<[Entity; 8]>

Source§

fn ensure_active_session( &self, session: Entity, world: &mut World, ) -> OperationResult

Source§

impl<T0: Buffering, T1: Buffering, T2: Buffering, T3: Buffering, T4: Buffering> Buffering for (T0, T1, T2, T3, T4)

Source§

fn verify_scope(&self, scope: Entity)

Source§

fn buffered_count( &self, session: Entity, world: &World, ) -> Result<usize, OperationError>

Source§

fn buffered_count_for( &self, buffer: Entity, session: Entity, world: &World, ) -> Result<usize, OperationError>

Source§

fn add_listener(&self, listener: Entity, world: &mut World) -> OperationResult

Source§

fn gate_action( &self, session: Entity, action: Gate, world: &mut World, roster: &mut OperationRoster, ) -> OperationResult

Source§

fn as_input(&self) -> SmallVec<[Entity; 8]>

Source§

fn ensure_active_session( &self, session: Entity, world: &mut World, ) -> OperationResult

Source§

impl<T0: Buffering, T1: Buffering, T2: Buffering, T3: Buffering, T4: Buffering, T5: Buffering> Buffering for (T0, T1, T2, T3, T4, T5)

Source§

fn verify_scope(&self, scope: Entity)

Source§

fn buffered_count( &self, session: Entity, world: &World, ) -> Result<usize, OperationError>

Source§

fn buffered_count_for( &self, buffer: Entity, session: Entity, world: &World, ) -> Result<usize, OperationError>

Source§

fn add_listener(&self, listener: Entity, world: &mut World) -> OperationResult

Source§

fn gate_action( &self, session: Entity, action: Gate, world: &mut World, roster: &mut OperationRoster, ) -> OperationResult

Source§

fn as_input(&self) -> SmallVec<[Entity; 8]>

Source§

fn ensure_active_session( &self, session: Entity, world: &mut World, ) -> OperationResult

Source§

impl<T0: Buffering, T1: Buffering, T2: Buffering, T3: Buffering, T4: Buffering, T5: Buffering, T6: Buffering> Buffering for (T0, T1, T2, T3, T4, T5, T6)

Source§

fn verify_scope(&self, scope: Entity)

Source§

fn buffered_count( &self, session: Entity, world: &World, ) -> Result<usize, OperationError>

Source§

fn buffered_count_for( &self, buffer: Entity, session: Entity, world: &World, ) -> Result<usize, OperationError>

Source§

fn add_listener(&self, listener: Entity, world: &mut World) -> OperationResult

Source§

fn gate_action( &self, session: Entity, action: Gate, world: &mut World, roster: &mut OperationRoster, ) -> OperationResult

Source§

fn as_input(&self) -> SmallVec<[Entity; 8]>

Source§

fn ensure_active_session( &self, session: Entity, world: &mut World, ) -> OperationResult

Source§

impl<T0: Buffering, T1: Buffering, T2: Buffering, T3: Buffering, T4: Buffering, T5: Buffering, T6: Buffering, T7: Buffering> Buffering for (T0, T1, T2, T3, T4, T5, T6, T7)

Source§

fn verify_scope(&self, scope: Entity)

Source§

fn buffered_count( &self, session: Entity, world: &World, ) -> Result<usize, OperationError>

Source§

fn buffered_count_for( &self, buffer: Entity, session: Entity, world: &World, ) -> Result<usize, OperationError>

Source§

fn add_listener(&self, listener: Entity, world: &mut World) -> OperationResult

Source§

fn gate_action( &self, session: Entity, action: Gate, world: &mut World, roster: &mut OperationRoster, ) -> OperationResult

Source§

fn as_input(&self) -> SmallVec<[Entity; 8]>

Source§

fn ensure_active_session( &self, session: Entity, world: &mut World, ) -> OperationResult

Source§

impl<T0: Buffering, T1: Buffering, T2: Buffering, T3: Buffering, T4: Buffering, T5: Buffering, T6: Buffering, T7: Buffering, T8: Buffering> Buffering for (T0, T1, T2, T3, T4, T5, T6, T7, T8)

Source§

fn verify_scope(&self, scope: Entity)

Source§

fn buffered_count( &self, session: Entity, world: &World, ) -> Result<usize, OperationError>

Source§

fn buffered_count_for( &self, buffer: Entity, session: Entity, world: &World, ) -> Result<usize, OperationError>

Source§

fn add_listener(&self, listener: Entity, world: &mut World) -> OperationResult

Source§

fn gate_action( &self, session: Entity, action: Gate, world: &mut World, roster: &mut OperationRoster, ) -> OperationResult

Source§

fn as_input(&self) -> SmallVec<[Entity; 8]>

Source§

fn ensure_active_session( &self, session: Entity, world: &mut World, ) -> OperationResult

Source§

impl<T0: Buffering, T1: Buffering, T2: Buffering, T3: Buffering, T4: Buffering, T5: Buffering, T6: Buffering, T7: Buffering, T8: Buffering, T9: Buffering> Buffering for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)

Source§

fn verify_scope(&self, scope: Entity)

Source§

fn buffered_count( &self, session: Entity, world: &World, ) -> Result<usize, OperationError>

Source§

fn buffered_count_for( &self, buffer: Entity, session: Entity, world: &World, ) -> Result<usize, OperationError>

Source§

fn add_listener(&self, listener: Entity, world: &mut World) -> OperationResult

Source§

fn gate_action( &self, session: Entity, action: Gate, world: &mut World, roster: &mut OperationRoster, ) -> OperationResult

Source§

fn as_input(&self) -> SmallVec<[Entity; 8]>

Source§

fn ensure_active_session( &self, session: Entity, world: &mut World, ) -> OperationResult

Source§

impl<T0: Buffering, T1: Buffering, T2: Buffering, T3: Buffering, T4: Buffering, T5: Buffering, T6: Buffering, T7: Buffering, T8: Buffering, T9: Buffering, T10: Buffering> Buffering for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)

Source§

fn verify_scope(&self, scope: Entity)

Source§

fn buffered_count( &self, session: Entity, world: &World, ) -> Result<usize, OperationError>

Source§

fn buffered_count_for( &self, buffer: Entity, session: Entity, world: &World, ) -> Result<usize, OperationError>

Source§

fn add_listener(&self, listener: Entity, world: &mut World) -> OperationResult

Source§

fn gate_action( &self, session: Entity, action: Gate, world: &mut World, roster: &mut OperationRoster, ) -> OperationResult

Source§

fn as_input(&self) -> SmallVec<[Entity; 8]>

Source§

fn ensure_active_session( &self, session: Entity, world: &mut World, ) -> OperationResult

Source§

impl<T0: Buffering, T1: Buffering, T2: Buffering, T3: Buffering, T4: Buffering, T5: Buffering, T6: Buffering, T7: Buffering, T8: Buffering, T9: Buffering, T10: Buffering, T11: Buffering> Buffering for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)

Source§

fn verify_scope(&self, scope: Entity)

Source§

fn buffered_count( &self, session: Entity, world: &World, ) -> Result<usize, OperationError>

Source§

fn buffered_count_for( &self, buffer: Entity, session: Entity, world: &World, ) -> Result<usize, OperationError>

Source§

fn add_listener(&self, listener: Entity, world: &mut World) -> OperationResult

Source§

fn gate_action( &self, session: Entity, action: Gate, world: &mut World, roster: &mut OperationRoster, ) -> OperationResult

Source§

fn as_input(&self) -> SmallVec<[Entity; 8]>

Source§

fn ensure_active_session( &self, session: Entity, world: &mut World, ) -> OperationResult

Source§

impl<T: Buffering, const N: usize> Buffering for [T; N]

Source§

fn verify_scope(&self, scope: Entity)

Source§

fn buffered_count( &self, session: Entity, world: &World, ) -> Result<usize, OperationError>

Source§

fn buffered_count_for( &self, buffer_entity: Entity, session: Entity, world: &World, ) -> Result<usize, OperationError>

Source§

fn add_listener(&self, listener: Entity, world: &mut World) -> OperationResult

Source§

fn gate_action( &self, session: Entity, action: Gate, world: &mut World, roster: &mut OperationRoster, ) -> OperationResult

Source§

fn as_input(&self) -> SmallVec<[Entity; 8]>

Source§

fn ensure_active_session( &self, session: Entity, world: &mut World, ) -> OperationResult

Implementors§

Source§

impl Buffering for AnyBuffer

Source§

impl Buffering for JsonBuffer

Source§

impl<T: 'static + Send + Sync + Clone> Buffering for CloneFromBuffer<T>

Source§

impl<T: 'static + Send + Sync> Buffering for NonCopyBuffer<T>

Source§

impl<T: 'static + Send + Sync> Buffering for Buffer<T>

Source§

impl<T: 'static + Send + Sync> Buffering for FetchFromBuffer<T>

Source§

impl<T: BufferMapStruct> Buffering for T

Source§

impl<T: Buffering, const N: usize> Buffering for SmallVec<[T; N]>