pub trait PluginConfigurationAuthority:
Debug
+ Send
+ Sync {
// Required methods
fn source(&self) -> PluginConfigurationAuthoritySource;
fn inspect(&self) -> Result<PluginRootAuthoringState>;
fn propose(
&self,
expected_revision: &PluginRootRevision,
plugin_id: &str,
instance: &str,
bytes: &[u8],
) -> Result<PluginConfigurationProposal>;
fn publish(
&self,
proposal: &PluginConfigurationProposal,
) -> Result<PluginConfigurationPublication>;
}Expand description
Host-side port for inspecting, proposing, and publishing Plugin configuration.
Implementations own authoring storage and compare-and-swap publication. They do not own App Generation staging, routing, or Kernel execution.
Required Methods§
fn source(&self) -> PluginConfigurationAuthoritySource
fn inspect(&self) -> Result<PluginRootAuthoringState>
fn propose( &self, expected_revision: &PluginRootRevision, plugin_id: &str, instance: &str, bytes: &[u8], ) -> Result<PluginConfigurationProposal>
fn publish( &self, proposal: &PluginConfigurationProposal, ) -> Result<PluginConfigurationPublication>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".