pub trait ChannelStore {
type Error;
// Required methods
async fn store_channel(
&self,
name: &[u8],
key: &[u8; 32],
) -> Result<(), Self::Error>;
async fn delete_channel(&self, name: &[u8]) -> Result<(), Self::Error>;
async fn for_each_channel(
&self,
f: &mut dyn FnMut(&[u8], &[u8; 32]),
) -> Result<(), Self::Error>;
}Expand description
Persistent channel directory for the node layer.
Stores and retrieves shared channel keys keyed by channel name (UTF-8,
up to 16 bytes). Implementors MUST treat store_channel as an upsert.
Required Associated Types§
Required Methods§
Sourceasync fn store_channel(
&self,
name: &[u8],
key: &[u8; 32],
) -> Result<(), Self::Error>
async fn store_channel( &self, name: &[u8], key: &[u8; 32], ) -> Result<(), Self::Error>
Upsert the channel record for name.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.