#[non_exhaustive]pub struct InitializationVersionMismatch {
pub requested: ProtocolVersion,
pub response: SelectedInitializeResponse,
}unstable_protocol_v2 only.Expand description
A successful initialize response that selected a lower protocol version
than the local API requires.
Reported by v2::InitializeOutcome::LowerVersion.
This is not the -32022 (Unsupported protocol version) error an agent
returns when it supports no version at or below the requested one.
It lives at the crate root because it is not tied to one protocol
version. v2::ConnectionTo::send_initialize reports a lower selection
with it.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.requested: ProtocolVersionThe protocol version the local connection requested.
response: SelectedInitializeResponseThe peer’s validated initialization response for the version it
selected. selected returns that version.
Implementations§
Source§impl InitializationVersionMismatch
impl InitializationVersionMismatch
Sourcepub fn new(
requested: ProtocolVersion,
response: SelectedInitializeResponse,
) -> Self
pub fn new( requested: ProtocolVersion, response: SelectedInitializeResponse, ) -> Self
Describe a peer that answered a request for requested with
response, selecting the response’s protocol version.
Useful for exercising fallback paths in tests.
Sourcepub fn selected(&self) -> ProtocolVersion
pub fn selected(&self) -> ProtocolVersion
The lower protocol version the peer selected: the version of
response.
Trait Implementations§
impl Eq for InitializationVersionMismatch
impl StructuralPartialEq for InitializationVersionMismatch
Auto Trait Implementations§
impl Freeze for InitializationVersionMismatch
impl RefUnwindSafe for InitializationVersionMismatch
impl Send for InitializationVersionMismatch
impl Sync for InitializationVersionMismatch
impl Unpin for InitializationVersionMismatch
impl UnsafeUnpin for InitializationVersionMismatch
impl UnwindSafe for InitializationVersionMismatch
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,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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
key and return true if they are equal.