pub trait AnyBufferAccessInterface {
Show 14 methods
// Required methods
fn message_type_id(&self) -> TypeId;
fn message_type_name(&self) -> &'static str;
fn buffered_count(
&self,
entity: &EntityRef<'_>,
session: Entity,
) -> Result<usize, OperationError>;
fn ensure_session(
&self,
entity_mut: &mut EntityWorldMut<'_>,
session: Entity,
) -> OperationResult;
fn register_buffer_downcast(
&self,
buffer_type: TypeId,
f: BufferDowncastBox,
);
fn register_cloning(
&self,
clone_for_any_join: CloneForAnyFn,
clone_for_join_fn: &'static (dyn Any + Send + Sync),
);
fn buffer_downcast(&self, buffer_type: TypeId) -> Option<BufferDowncastRef>;
fn register_key_downcast(&self, key_type: TypeId, f: KeyDowncastBox);
fn key_downcast(&self, key_type: TypeId) -> Option<KeyDowncastRef>;
fn pull(
&self,
entity_mut: &mut EntityWorldMut<'_>,
session: Entity,
) -> Result<AnyMessageBox, OperationError>;
fn clone_from_buffer(
&self,
entity_reft: &EntityRef<'_>,
session: Entity,
) -> Result<AnyMessageBox, OperationError>;
fn clone_for_join_fn(&self) -> Option<&'static (dyn Any + Send + Sync)>;
fn create_any_buffer_view<'a>(
&self,
key: &AnyBufferKey,
world: &'a World,
) -> Result<AnyBufferView<'a>, BufferError>;
fn create_any_buffer_access_mut_state(
&self,
world: &mut World,
) -> Box<dyn AnyBufferAccessMutState>;
}Required Methods§
fn message_type_id(&self) -> TypeId
fn message_type_name(&self) -> &'static str
fn buffered_count( &self, entity: &EntityRef<'_>, session: Entity, ) -> Result<usize, OperationError>
fn ensure_session( &self, entity_mut: &mut EntityWorldMut<'_>, session: Entity, ) -> OperationResult
fn register_buffer_downcast(&self, buffer_type: TypeId, f: BufferDowncastBox)
Sourcefn register_cloning(
&self,
clone_for_any_join: CloneForAnyFn,
clone_for_join_fn: &'static (dyn Any + Send + Sync),
)
fn register_cloning( &self, clone_for_any_join: CloneForAnyFn, clone_for_join_fn: &'static (dyn Any + Send + Sync), )
Allows AnyBuffer to support join_by_cloning