#[non_exhaustive]pub enum ReloadError {
Drain(String),
SchemaIncompat {
kind: String,
reason: String,
},
Persist(FnError),
Plugin(PluginError),
PluginNotFound(String),
}Expand description
Errors produced by the hot-reload pipeline.
Surfaced by crate::reload::ReloadDispatcher::dispatch and by
the host’s Uni::reload / Uni::remove_plugin entry points. Each
variant maps to a distinct failure mode of the §11.2 epoch-fenced
cutover: a drain-state-machine failure, a per-kind schema-compat
rejection, a persistence/round-trip failure on a stateful surface,
or a generic plugin-framework error wrapped through.
Reload failures abort the cutover before the new plugin’s surfaces are committed to the registry, so the registry stays consistent with the still-active old plugin.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Drain(String)
The drain state machine rejected the request.
SchemaIncompat
A per-kind schema-compat check rejected the new provider.
Holds the kind name (e.g., "crdt:lww-register") and a
human-readable explanation of the incompatibility.
Fields
Persist(FnError)
A stateful surface failed to persist/round-trip during reload.
Plugin(PluginError)
The new plugin’s register() (or other framework op) failed.
PluginNotFound(String)
The host lookup for a plugin handle came up empty.
Implementations§
Source§impl ReloadError
impl ReloadError
Trait Implementations§
Source§impl Debug for ReloadError
impl Debug for ReloadError
Source§impl Display for ReloadError
impl Display for ReloadError
Source§impl Error for ReloadError
impl Error for ReloadError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl From<PluginError> for ReloadError
impl From<PluginError> for ReloadError
Source§fn from(source: PluginError) -> Self
fn from(source: PluginError) -> Self
Auto Trait Implementations§
impl Freeze for ReloadError
impl RefUnwindSafe for ReloadError
impl Send for ReloadError
impl Sync for ReloadError
impl Unpin for ReloadError
impl UnsafeUnpin for ReloadError
impl UnwindSafe for ReloadError
Blanket Implementations§
impl<T> Allocation for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more