pub struct Topic<T: Clone + Send + Sync + Serialize + DeserializeOwned + 'static> { /* private fields */ }Expand description
Topic — collects multiple updates into a list per step. PubSub style. Multiple nodes can write to the same topic in one superstep.
Implementations§
Trait Implementations§
Source§impl<T: Clone + Send + Sync + Serialize + DeserializeOwned + 'static> Channel for Topic<T>
impl<T: Clone + Send + Sync + Serialize + DeserializeOwned + 'static> Channel for Topic<T>
Source§fn merge(&mut self, update: Box<dyn Any + Send>)
fn merge(&mut self, update: Box<dyn Any + Send>)
Merge a boxed update value into this channel.
Source§fn clone_box(&self) -> Box<dyn Channel>
fn clone_box(&self) -> Box<dyn Channel>
Clone the channel (for snapshot isolation during parallel execution).
Source§fn is_ephemeral(&self) -> bool
fn is_ephemeral(&self) -> bool
Whether this channel should be cleared between supersteps. Read more
Source§fn checkpoint(&self) -> Result<Vec<u8>, PeError>
fn checkpoint(&self) -> Result<Vec<u8>, PeError>
Serialize channel state for checkpointing. Read more
Source§fn as_any_mut(&mut self) -> &mut dyn Any
fn as_any_mut(&mut self) -> &mut dyn Any
Downcast support — returns self as
&mut dyn Any.Source§impl<T: Clone + Clone + Send + Sync + Serialize + DeserializeOwned + 'static> Clone for Topic<T>
impl<T: Clone + Clone + Send + Sync + Serialize + DeserializeOwned + 'static> Clone for Topic<T>
Auto Trait Implementations§
impl<T> Freeze for Topic<T>
impl<T> RefUnwindSafe for Topic<T>where
T: RefUnwindSafe,
impl<T> Send for Topic<T>
impl<T> Sync for Topic<T>
impl<T> Unpin for Topic<T>where
T: Unpin,
impl<T> UnsafeUnpin for Topic<T>
impl<T> UnwindSafe for Topic<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more