pub enum RpcId {
String(Arc<str>),
Number(i64),
Null,
}Expand description
Represents a JSON-RPC 2.0 Request ID, which can be a String, Number, or Null.
Uses Arc<str> for strings to allow for efficient cloning, especially when the
ID is part of request/response structures that might be cloned (e.g., in tracing/logging).
Variants§
Implementations§
Source§impl RpcId
impl RpcId
Sourcepub fn from_scheme(kind: IdSchemeKind, enc: IdSchemeEncoding) -> Self
pub fn from_scheme(kind: IdSchemeKind, enc: IdSchemeEncoding) -> Self
Generate a new ID given a scheme kind and encoding.
pub fn new_uuid_v4() -> Self
pub fn new_uuid_v4_base64() -> Self
pub fn new_uuid_v4_base64url() -> Self
pub fn new_uuid_v4_base58() -> Self
pub fn new_uuid_v7() -> Self
pub fn new_uuid_v7_base64() -> Self
pub fn new_uuid_v7_base64url() -> Self
pub fn new_uuid_v7_base58() -> Self
Source§impl RpcId
impl RpcId
Sourcepub fn from_value(value: Value) -> Result<Self, RpcRequestParsingError>
pub fn from_value(value: Value) -> Result<Self, RpcRequestParsingError>
Attempts to convert a serde_json::Value into an RpcId.
Returns Error::RpcIdInvalid if the value is not a String, Number, or Null.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for RpcId
impl<'de> Deserialize<'de> for RpcId
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 RpcId
impl StructuralPartialEq for RpcId
Auto Trait Implementations§
impl Freeze for RpcId
impl RefUnwindSafe for RpcId
impl Send for RpcId
impl Sync for RpcId
impl Unpin for RpcId
impl UnwindSafe for RpcId
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