pub struct SidecarPluginRuntime {
pub endpoint: String,
pub handshake: SidecarHandshake,
pub healthy: bool,
pub failure_count: usize,
pub degraded_to_builtin: bool,
pub last_error: Option<String>,
}Fields§
§endpoint: String§handshake: SidecarHandshake§healthy: bool§failure_count: usize§degraded_to_builtin: bool§last_error: Option<String>Implementations§
Source§impl SidecarPluginRuntime
impl SidecarPluginRuntime
pub fn new(endpoint: impl Into<String>, handshake: SidecarHandshake) -> Self
pub fn enable( &mut self, expected_plugin_id: &str, required_domain: TargetDomain, ) -> Result<(), String>
pub fn enable_with_policy( &mut self, expected_plugin_id: &str, required_domain: TargetDomain, policy: &SidecarRuntimePolicy, safety_checks: &SidecarRuntimeSafetyChecks, ) -> Result<(), String>
pub fn mark_unhealthy(&mut self)
pub fn record_failure(&mut self, error: impl Into<String>)
pub fn record_failure_with_policy( &mut self, policy: &SidecarRuntimePolicy, error: impl Into<String>, )
Sourcepub fn send_with_timeout(
&mut self,
policy: &SidecarRuntimePolicy,
simulated_latency: Duration,
) -> Result<(), String>
pub fn send_with_timeout( &mut self, policy: &SidecarRuntimePolicy, simulated_latency: Duration, ) -> Result<(), String>
Simulates a send bounded by the policy’s operation timeout. On timeout the
failure is recorded through the policy (so error details are redacted when
redact_error_details is set and the configurable failure threshold —
not a hardcoded constant — drives circuit breaking). A successful send
clears the failure count so transient blips never accumulate toward the
breaker.
pub fn shutdown(&mut self)
Trait Implementations§
Source§impl Clone for SidecarPluginRuntime
impl Clone for SidecarPluginRuntime
Source§fn clone(&self) -> SidecarPluginRuntime
fn clone(&self) -> SidecarPluginRuntime
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SidecarPluginRuntime
impl Debug for SidecarPluginRuntime
Source§impl<'de> Deserialize<'de> for SidecarPluginRuntime
impl<'de> Deserialize<'de> for SidecarPluginRuntime
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for SidecarPluginRuntime
Source§impl PartialEq for SidecarPluginRuntime
impl PartialEq for SidecarPluginRuntime
Source§impl Serialize for SidecarPluginRuntime
impl Serialize for SidecarPluginRuntime
impl StructuralPartialEq for SidecarPluginRuntime
Auto Trait Implementations§
impl Freeze for SidecarPluginRuntime
impl RefUnwindSafe for SidecarPluginRuntime
impl Send for SidecarPluginRuntime
impl Sync for SidecarPluginRuntime
impl Unpin for SidecarPluginRuntime
impl UnsafeUnpin for SidecarPluginRuntime
impl UnwindSafe for SidecarPluginRuntime
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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> ⓘ
Converts
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> ⓘ
Converts
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request