pub enum ProgressToken {
String(String),
Number(Number),
}Expand description
Core MCP protocol types and error handling Progress token for tracking long-running operations.
Schema: export type ProgressToken = string | number; — used in both
RequestMetaObject.progressToken? and ProgressNotificationParams.progressToken.
JSON number is any IEEE-754 double, so the numeric variant is modeled as
serde_json::Number to losslessly preserve the wire representation
(integer vs. float, large integers beyond i64::MAX, etc.). An i64
variant would reject spec-valid tokens like 1.5.
Variants§
Implementations§
Source§impl ProgressToken
impl ProgressToken
Sourcepub fn new(token: impl Into<String>) -> ProgressToken
pub fn new(token: impl Into<String>) -> ProgressToken
Construct a string-form token. For numeric tokens use the From<i64> /
From<u64> / From<f64> impls, or ProgressToken::Number(num) directly.
Sourcepub fn as_str(&self) -> Option<&str>
pub fn as_str(&self) -> Option<&str>
Return the string body if this is a string-form token; None for numeric.
Sourcepub fn as_i64(&self) -> Option<i64>
pub fn as_i64(&self) -> Option<i64>
Return the numeric body if this is an integer-form token; None for
string or for a JSON float that has no exact i64 representation.
Trait Implementations§
Source§impl Clone for ProgressToken
impl Clone for ProgressToken
Source§fn clone(&self) -> ProgressToken
fn clone(&self) -> ProgressToken
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 ProgressToken
impl Debug for ProgressToken
Source§impl<'de> Deserialize<'de> for ProgressToken
impl<'de> Deserialize<'de> for ProgressToken
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<ProgressToken, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<ProgressToken, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
impl Eq for ProgressToken
Source§impl From<&str> for ProgressToken
impl From<&str> for ProgressToken
Source§fn from(s: &str) -> ProgressToken
fn from(s: &str) -> ProgressToken
Source§impl From<String> for ProgressToken
impl From<String> for ProgressToken
Source§fn from(s: String) -> ProgressToken
fn from(s: String) -> ProgressToken
Source§impl From<f64> for ProgressToken
Construct from an f64. Panics if the value is NaN or ±infinity — JSON
has no representation for those. Use serde_json::Number::from_f64
directly + ProgressToken::Number(...) if you need explicit error handling.
impl From<f64> for ProgressToken
Construct from an f64. Panics if the value is NaN or ±infinity — JSON
has no representation for those. Use serde_json::Number::from_f64
directly + ProgressToken::Number(...) if you need explicit error handling.
Source§fn from(n: f64) -> ProgressToken
fn from(n: f64) -> ProgressToken
Source§impl From<i32> for ProgressToken
impl From<i32> for ProgressToken
Source§fn from(n: i32) -> ProgressToken
fn from(n: i32) -> ProgressToken
Source§impl From<i64> for ProgressToken
impl From<i64> for ProgressToken
Source§fn from(n: i64) -> ProgressToken
fn from(n: i64) -> ProgressToken
Source§impl From<u64> for ProgressToken
impl From<u64> for ProgressToken
Source§fn from(n: u64) -> ProgressToken
fn from(n: u64) -> ProgressToken
Source§impl PartialEq for ProgressToken
impl PartialEq for ProgressToken
Source§impl Serialize for ProgressToken
impl Serialize for ProgressToken
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl StructuralPartialEq for ProgressToken
Auto Trait Implementations§
impl Freeze for ProgressToken
impl RefUnwindSafe for ProgressToken
impl Send for ProgressToken
impl Sync for ProgressToken
impl Unpin for ProgressToken
impl UnsafeUnpin for ProgressToken
impl UnwindSafe for ProgressToken
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>,
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.