pub struct MessageChain { /* private fields */ }Expand description
Message chain - append-only ordered log of messages. Mirrors Python message chain concept: ordered sequence of messages with digest-based sync support.
Implementations§
Trait Implementations§
Source§impl ApplicationObject for MessageChain
impl ApplicationObject for MessageChain
Source§fn id(&self) -> &SharedObjectId
fn id(&self) -> &SharedObjectId
Get the object’s unique identifier
Source§fn is_valid<'life0, 'life1, 'async_trait>(
&'life0 self,
message: &'life1 SharedMessage,
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn is_valid<'life0, 'life1, 'async_trait>(
&'life0 self,
message: &'life1 SharedMessage,
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Validate if a message is valid for this object
Source§fn add_message<'life0, 'async_trait>(
&'life0 mut self,
message: SharedMessage,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn add_message<'life0, 'async_trait>(
&'life0 mut self,
message: SharedMessage,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Add a validated message to the object
Source§fn is_merkleized(&self) -> bool
fn is_merkleized(&self) -> bool
Check if this object supports merkleized synchronization
Source§fn get_latest_digest<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_latest_digest<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get the latest state digest
Source§fn has_digest<'life0, 'life1, 'async_trait>(
&'life0 self,
digest: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn has_digest<'life0, 'life1, 'async_trait>(
&'life0 self,
digest: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Check if object has a specific digest
Source§fn is_valid_digest<'life0, 'life1, 'async_trait>(
&'life0 self,
digest: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn is_valid_digest<'life0, 'life1, 'async_trait>(
&'life0 self,
digest: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Validate if a digest is valid
Source§fn add_digest<'life0, 'async_trait>(
&'life0 mut self,
_digest: String,
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn add_digest<'life0, 'async_trait>(
&'life0 mut self,
_digest: String,
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Add a digest to the object
Source§fn gossip_messages<'life0, 'life1, 'async_trait>(
&'life0 self,
digest: Option<&'life1 str>,
) -> Pin<Box<dyn Future<Output = Result<Vec<SharedMessage>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn gossip_messages<'life0, 'life1, 'async_trait>(
&'life0 self,
digest: Option<&'life1 str>,
) -> Pin<Box<dyn Future<Output = Result<Vec<SharedMessage>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get messages for gossip protocol
Source§fn get_messages_since_digest<'life0, 'life1, 'async_trait>(
&'life0 self,
digest: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<SharedMessage>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_messages_since_digest<'life0, 'life1, 'async_trait>(
&'life0 self,
digest: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<SharedMessage>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get messages since a specific digest
Source§fn get_state<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Value>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_state<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Value>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get the current state as JSON
Source§fn reset<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn reset<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Reset the object to initial state
Source§fn clone_box(&self) -> Box<dyn ApplicationObject>
fn clone_box(&self) -> Box<dyn ApplicationObject>
Clone the object
Source§fn as_any_mut(&mut self) -> &mut dyn Any
fn as_any_mut(&mut self) -> &mut dyn Any
Get mutable reference as Any for downcasting
Source§impl Clone for MessageChain
impl Clone for MessageChain
Source§fn clone(&self) -> MessageChain
fn clone(&self) -> MessageChain
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MessageChain
impl Debug for MessageChain
Auto Trait Implementations§
impl Freeze for MessageChain
impl RefUnwindSafe for MessageChain
impl Send for MessageChain
impl Sync for MessageChain
impl Unpin for MessageChain
impl UnsafeUnpin for MessageChain
impl UnwindSafe for MessageChain
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