pub struct Group<T> { /* private fields */ }Expand description
Primary interface that end user may interact with
Wrap ReflectData derivative like Group<MyData>
Implementations§
source§impl<T: Template> Group<T>
impl<T: Template> Group<T>
sourcepub fn update(&mut self) -> bool
pub fn update(&mut self) -> bool
Fetch underlying object’s updates and apply to local cache. Returns true if there was any update available.
pub fn check_elem_update<U: 'static>(&mut self, e: *const U) -> bool
clear_flag insteadsourcepub fn consume_update<U: 'static>(&mut self, e: *const U) -> bool
pub fn consume_update<U: 'static>(&mut self, e: *const U) -> bool
Check element update from its address, and clears dirty flag on given element.
This is only meaningful when followed by Group::update call.
sourcepub fn commit_elem<U: Clone + EntityTrait + Send>(&self, e: &U, notify: bool)
pub fn commit_elem<U: Clone + EntityTrait + Send>(&self, e: &U, notify: bool)
Commit changes on element to core context, then it will be propagated to all other groups which shares same core context.
sourcepub fn watch_update(&self) -> WatchUpdate
pub fn watch_update(&self) -> WatchUpdate
Clones new update receiver channel. Given channel will be notified whenever call to
update() method meaningful. However, as the event can be generated manually even
if there’s no actual update, it’s not recommended to make critical logics rely on
this signal.
sourcepub fn watch_update_with_event_broadcast(&self) -> WatchUpdate
pub fn watch_update_with_event_broadcast(&self) -> WatchUpdate
Spawns new broadcast receiver, and forcibly generates update event.
This is useful when you want to make sure that first monitoring event is always triggered, however, note that this method will incur all other watchdogs to be notified as well.
sourcepub fn mark_all_elem_dirty(&mut self)
pub fn mark_all_elem_dirty(&mut self)
Mark all elements dirty. Next call to Group::update() may not return true if there
wasn’t any actual update, however, every call to [Group::clear_flag()] for
each elements will return true.
sourcepub fn mark_group_dirty(&mut self)
pub fn mark_group_dirty(&mut self)
Mark this group dirty. Next call to update() method will return true, regardless of
whether there’s any actual update.
sourcepub fn mark_dirty<U: 'static>(&mut self, elem: *const U)
pub fn mark_dirty<U: 'static>(&mut self, elem: *const U)
Mark given element dirty.
sourcepub fn get_metadata<U: 'static>(&self, elem: *const U) -> Arc<Metadata>
pub fn get_metadata<U: 'static>(&self, elem: *const U) -> Arc<Metadata>
Get generated metadata of given element
sourcepub fn get_path(&self) -> Arc<Vec<CompactString>>
pub fn get_path(&self) -> Arc<Vec<CompactString>>
Get instance path of self. This value is same as the list of tokens that you have
provided to [crate::Storage::create_group] method.