pub trait StatementStore: Send + Sync {
// Required methods
fn statements(&self) -> Result<Vec<([u8; 32], Statement)>, Error>;
fn statement(&self, hash: &[u8; 32]) -> Result<Option<Statement>, Error>;
fn broadcasts(
&self,
match_all_topics: &[[u8; 32]],
) -> Result<Vec<Vec<u8>>, Error>;
fn posted(
&self,
match_all_topics: &[[u8; 32]],
dest: [u8; 32],
) -> Result<Vec<Vec<u8>>, Error>;
fn posted_clear(
&self,
match_all_topics: &[[u8; 32]],
dest: [u8; 32],
) -> Result<Vec<Vec<u8>>, Error>;
fn submit(
&self,
statement: Statement,
source: StatementSource,
) -> SubmitResult;
fn remove(&self, hash: &[u8; 32]) -> Result<(), Error>;
}Expand description
Statement store API.
Required Methods§
Sourcefn statement(&self, hash: &[u8; 32]) -> Result<Option<Statement>, Error>
fn statement(&self, hash: &[u8; 32]) -> Result<Option<Statement>, Error>
Get statement by hash.
Sourcefn broadcasts(
&self,
match_all_topics: &[[u8; 32]],
) -> Result<Vec<Vec<u8>>, Error>
fn broadcasts( &self, match_all_topics: &[[u8; 32]], ) -> Result<Vec<Vec<u8>>, Error>
Return the data of all known statements which include all topics and have no DecryptionKey
field.
Sourcefn posted(
&self,
match_all_topics: &[[u8; 32]],
dest: [u8; 32],
) -> Result<Vec<Vec<u8>>, Error>
fn posted( &self, match_all_topics: &[[u8; 32]], dest: [u8; 32], ) -> Result<Vec<Vec<u8>>, Error>
Return the data of all known statements whose decryption key is identified as dest (this
will generally be the public key or a hash thereof for symmetric ciphers, or a hash of the
private key for symmetric ciphers).
Sourcefn posted_clear(
&self,
match_all_topics: &[[u8; 32]],
dest: [u8; 32],
) -> Result<Vec<Vec<u8>>, Error>
fn posted_clear( &self, match_all_topics: &[[u8; 32]], dest: [u8; 32], ) -> Result<Vec<Vec<u8>>, Error>
Return the decrypted data of all known statements whose decryption key is identified as
dest. The key must be available to the client.
Sourcefn submit(&self, statement: Statement, source: StatementSource) -> SubmitResult
fn submit(&self, statement: Statement, source: StatementSource) -> SubmitResult
Submit a statement.