pub trait SessionPlugin: Send + Sync {
// Required methods
fn id(&self) -> &'static str;
fn register(&self, reg: &mut PluginRegistrar) -> Result<(), PluginError>;
// Provided methods
fn version(&self) -> &'static str { ... }
fn snapshot(
&self,
_writer: &mut dyn SnapshotWriter,
) -> Result<PluginSnapshotMeta, PluginError> { ... }
fn snapshot_revision(&self) -> u64 { ... }
fn restore(
&self,
_meta: &PluginSnapshotMeta,
_reader: &dyn SnapshotReader,
) -> Result<(), PluginError> { ... }
fn session_ready(
&self,
_ctx: SessionReadyContext,
) -> Result<(), PluginError> { ... }
}Required Methods§
fn id(&self) -> &'static str
fn register(&self, reg: &mut PluginRegistrar) -> Result<(), PluginError>
Provided Methods§
fn version(&self) -> &'static str
fn snapshot( &self, _writer: &mut dyn SnapshotWriter, ) -> Result<PluginSnapshotMeta, PluginError>
fn snapshot_revision(&self) -> u64
fn restore( &self, _meta: &PluginSnapshotMeta, _reader: &dyn SnapshotReader, ) -> Result<(), PluginError>
fn session_ready(&self, _ctx: SessionReadyContext) -> Result<(), PluginError>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".