pub struct OpcDaGatewayCompatibility {
pub client_version: String,
pub gateway_version: Option<String>,
pub source: OpcDaCompatibilitySource,
pub status: OpcDaCompatibilityStatus,
pub features: Vec<OpcDaFeatureCompatibility>,
}Expand description
The result of checking whether an opcda-bridge gateway can safely serve this bhtune
build.
Live mutations must be refused when Self::is_incompatible is true. Partial and
Unknown results allow live operations but should surface Self::warning_message.
Fields§
§client_version: StringThe bhtune version whose protocol profile was evaluated.
gateway_version: Option<String>The gateway application version, when the gateway reported one.
source: OpcDaCompatibilitySourceWhere the gateway protocol metadata came from.
status: OpcDaCompatibilityStatusThe overall compatibility result.
features: Vec<OpcDaFeatureCompatibility>The per-feature evaluations behind Self::status.
Implementations§
Source§impl OpcDaGatewayCompatibility
impl OpcDaGatewayCompatibility
Sourcepub const fn is_incompatible(&self) -> bool
pub const fn is_incompatible(&self) -> bool
Returns true when live operations against this gateway must be refused.
Sourcepub fn live_mutation_refusal(&self) -> Option<String>
pub fn live_mutation_refusal(&self) -> Option<String>
The refusal text for an incompatible gateway, or None when live operations may proceed.
Sourcepub fn unverified() -> Self
pub fn unverified() -> Self
A synthetic Unknown result used when inspection cannot classify the gateway.
Sourcepub fn incompatibility_message(&self) -> String
pub fn incompatibility_message(&self) -> String
An actionable refusal message naming the gateway version, both protocol ranges for every affected feature, and the fix.
Sourcepub fn warning_message(&self) -> Option<String>
pub fn warning_message(&self) -> Option<String>
An operator warning for a Partial or Unknown result, or None when the result
needs no warning (Full) or must be refused instead (Incompatible).
Trait Implementations§
Source§impl Clone for OpcDaGatewayCompatibility
impl Clone for OpcDaGatewayCompatibility
Source§fn clone(&self) -> OpcDaGatewayCompatibility
fn clone(&self) -> OpcDaGatewayCompatibility
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for OpcDaGatewayCompatibility
impl Debug for OpcDaGatewayCompatibility
Source§impl<'de> Deserialize<'de> for OpcDaGatewayCompatibility
impl<'de> Deserialize<'de> for OpcDaGatewayCompatibility
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>,
impl Eq for OpcDaGatewayCompatibility
impl StructuralPartialEq for OpcDaGatewayCompatibility
Auto Trait Implementations§
impl Freeze for OpcDaGatewayCompatibility
impl RefUnwindSafe for OpcDaGatewayCompatibility
impl Send for OpcDaGatewayCompatibility
impl Sync for OpcDaGatewayCompatibility
impl Unpin for OpcDaGatewayCompatibility
impl UnsafeUnpin for OpcDaGatewayCompatibility
impl UnwindSafe for OpcDaGatewayCompatibility
Blanket Implementations§
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
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>,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].