#[non_exhaustive]pub enum InitializeOutcome {
Initialized(InitializeResponse),
LowerVersion(InitializationVersionMismatch),
}Available on crate feature
unstable_protocol_v2 only.Expand description
The outcome of a v2 client’s send_initialize.
A v1-only agent may legitimately answer a v2 initialization attempt with a
v1 response. That is a successful reply, not an error, so it is reported as
InitializeOutcome::LowerVersion. Errors from the agent, malformed
responses, and transport failures still resolve the request with an error.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Initialized(InitializeResponse)
The agent selected v2 and the connection is ready for v2 traffic.
LowerVersion(InitializationVersionMismatch)
The agent selected a lower protocol version.
The connection stays uninitialized: a v2 connection cannot carry the selected version’s traffic, and the SDK never converts it. Fall back to an implementation of the selected version if that is acceptable.
Trait Implementations§
Source§impl Clone for InitializeOutcome
impl Clone for InitializeOutcome
Source§impl Debug for InitializeOutcome
impl Debug for InitializeOutcome
impl Eq for InitializeOutcome
Source§impl JsonRpcResponse for InitializeOutcome
impl JsonRpcResponse for InitializeOutcome
Source§impl PartialEq for InitializeOutcome
impl PartialEq for InitializeOutcome
impl StructuralPartialEq for InitializeOutcome
Auto Trait Implementations§
impl Freeze for InitializeOutcome
impl RefUnwindSafe for InitializeOutcome
impl Send for InitializeOutcome
impl Sync for InitializeOutcome
impl Unpin for InitializeOutcome
impl UnsafeUnpin for InitializeOutcome
impl UnwindSafe for InitializeOutcome
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
Mutably borrows from an owned value. Read more
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
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> IntoMaybeUndefined<T> for T
impl<T> IntoMaybeUndefined<T> for T
Source§fn into_maybe_undefined(self) -> MaybeUndefined<T>
fn into_maybe_undefined(self) -> MaybeUndefined<T>
Converts this value into a three-state builder argument.
Source§impl<T> IntoOption<T> for T
impl<T> IntoOption<T> for T
Source§fn into_option(self) -> Option<T>
fn into_option(self) -> Option<T>
Converts this value into an optional builder argument.