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§
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
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.