pub struct ValueWirePayloadV1Seed;Expand description
Explicit Serde seed for decoding one unversioned V1 payload.
Use this seed with a decoder that enforces the resource limits appropriate
for the surrounding document. For complete JSON input, prefer the
bounded JSON decode helpers on ValueWirePayloadV1.
This generic Serde seed preserves the surrounding deserializer’s error
semantics; its diagnostics may contain input-derived text. Bounded helpers
map target-deserialization failures to InvalidJson metadata containing
only the Serde category and location. Resource limits do not sanitize
diagnostics, and reader or writer I/O sources may contain
application-defined details that require the application’s logging policy.
§Examples
With the json feature, use it when the surrounding protocol owns the
version envelope and its decoder session:
use qubit_budget::json::{JsonDecodeLimits, JsonDecodeSession};
use qubit_json::decode::JsonDecoder;
use qubit_value::ValueWirePayloadV1Seed;
let limits = JsonDecodeLimits::builder().max_input_bytes(256usize).build();
let session = JsonDecodeSession::from_limits(limits);
let mut decoder = JsonDecoder::new(session);
let payload = decoder.decode_unique_seed_utf8(
ValueWirePayloadV1Seed::new(),
br#"{"scalar":{"int32":7}}"#,
)?;
assert_eq!(payload.into_container().data_type(), qubit_datatype::DataType::Int32);Implementations§
Trait Implementations§
Source§impl Clone for ValueWirePayloadV1Seed
impl Clone for ValueWirePayloadV1Seed
impl Copy for ValueWirePayloadV1Seed
Source§impl Debug for ValueWirePayloadV1Seed
impl Debug for ValueWirePayloadV1Seed
Source§impl Default for ValueWirePayloadV1Seed
impl Default for ValueWirePayloadV1Seed
Source§impl<'de> DeserializeSeed<'de> for ValueWirePayloadV1Seed
impl<'de> DeserializeSeed<'de> for ValueWirePayloadV1Seed
Source§type Value = ValueWirePayloadV1
type Value = ValueWirePayloadV1
Owned scalar-or-collection payload decoded without a version envelope.
Source§fn deserialize<D>(self, deserializer: D) -> Result<Self::Value, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(self, deserializer: D) -> Result<Self::Value, D::Error>where
D: Deserializer<'de>,
Deserializes one unversioned V1 shape.
§Type Parameters
D- Serde deserializer whose input is valid for'deand whose resource limits are controlled by the surrounding protocol.
§Parameters
self- Stateless seed consumed by this decoding operation.deserializer- Decoder positioned at one unversioned V1 payload.
§Returns
An owned payload preserving the decoded scalar or collection shape.
§Errors
Propagates D::Error when the input cannot be decoded as a V1 shape,
preserving the deserializer’s diagnostics, which may contain input text.