pub struct ValueWirePayloadV1 { /* private fields */ }Expand description
Typed V1 scalar-or-collection payload without an enclosing version field.
Deserialization is intentionally available through
crate::ValueWirePayloadV1Seed, which lets a bounded decoder control the
complete input and structure.
§Examples
use std::convert::TryFrom;
use qubit_value::{Value, ValueWirePayloadV1};
let _payload = ValueWirePayloadV1::try_from(Value::from(42_i32)).unwrap();Implementations§
Source§impl ValueWirePayloadV1
impl ValueWirePayloadV1
Sourcepub fn default_json_decode_limits() -> JsonDecodeLimits
pub fn default_json_decode_limits() -> JsonDecodeLimits
Returns the default JSON resource profile for complete V1 payloads.
§Returns
Decode limits suitable for one standalone unversioned V1 payload.
Sourcepub fn default_json_encode_limits() -> JsonEncodeLimits
pub fn default_json_encode_limits() -> JsonEncodeLimits
Returns the default JSON resource profile for complete V1 payloads.
§Returns
Encode limits suitable for one standalone unversioned V1 payload.
Sourcepub fn decode_json_slice(input: &[u8]) -> Result<Self, ValueWireDecodeError>
pub fn decode_json_slice(input: &[u8]) -> Result<Self, ValueWireDecodeError>
Decodes a complete V1 JSON payload using default resource limits.
Prefer this entry point when the payload itself is the complete untrusted document. Embedded protocols should share one budget across all payloads in their complete document.
§Parameters
input- Complete UTF-8 JSON payload to decode.
§Returns
The decoded unversioned V1 payload.
§Errors
Returns a limit error when the input or decoded structure is too large,
or ValueWireDecodeError::InvalidJson for malformed input.
Sourcepub fn decode_json_slice_with_limits(
input: &[u8],
limits: JsonDecodeLimits,
) -> Result<Self, ValueWireDecodeError>
pub fn decode_json_slice_with_limits( input: &[u8], limits: JsonDecodeLimits, ) -> Result<Self, ValueWireDecodeError>
Decodes a complete V1 JSON payload using explicit resource limits.
§Parameters
input- Complete UTF-8 JSON payload to decode.limits- Resource limits enforced during decoding.
§Returns
The decoded unversioned V1 payload.
§Errors
Returns a limit error when input or its decoded structure exceeds
limits, or ValueWireDecodeError::InvalidJson for malformed input.
Sourcepub fn to_json_vec(&self) -> Result<Vec<u8>, ValueWireEncodeError>
pub fn to_json_vec(&self) -> Result<Vec<u8>, ValueWireEncodeError>
Encodes this V1 payload into a compact JSON vector with default limits.
§Returns
Compact UTF-8 JSON bytes for this unversioned payload.
§Errors
Returns ValueWireEncodeError::Budget when the payload exceeds the
default JSON resource profile.
Sourcepub fn to_json_vec_with_limits(
&self,
limits: JsonEncodeLimits,
) -> Result<Vec<u8>, ValueWireEncodeError>
pub fn to_json_vec_with_limits( &self, limits: JsonEncodeLimits, ) -> Result<Vec<u8>, ValueWireEncodeError>
Encodes this V1 payload into a bounded compact JSON vector.
§Parameters
limits- Resource limits enforced during encoding.
§Returns
Compact UTF-8 JSON bytes for this unversioned payload.
§Errors
Returns ValueWireEncodeError when encoding exceeds limits or the
payload cannot be serialized.
Sourcepub fn to_json_writer<W>(&self, writer: W) -> Result<(), ValueWireEncodeError>where
W: Write,
pub fn to_json_writer<W>(&self, writer: W) -> Result<(), ValueWireEncodeError>where
W: Write,
Encodes this V1 payload to a writer with default limits.
§Type Parameters
W- Destination writer type.
§Parameters
writer- Destination receiving the complete JSON payload.
§Returns
Ok(()) after the complete payload is written.
§Errors
Returns ValueWireEncodeError::Budget for resource-limit failures or
ValueWireEncodeError::Io when writer rejects output.
Sourcepub fn to_json_writer_with_limits<W>(
&self,
writer: W,
limits: JsonEncodeLimits,
) -> Result<(), ValueWireEncodeError>where
W: Write,
pub fn to_json_writer_with_limits<W>(
&self,
writer: W,
limits: JsonEncodeLimits,
) -> Result<(), ValueWireEncodeError>where
W: Write,
Encodes this V1 payload to a writer after enforcing JSON budgets.
§Type Parameters
W- Destination writer type.
§Parameters
writer- Destination receiving the complete JSON payload.limits- Resource limits enforced during encoding.
§Returns
Ok(()) after the complete payload is written.
§Errors
Returns ValueWireEncodeError when encoding exceeds limits, the
payload cannot be serialized, or writer rejects output.
Sourcepub const fn container(&self) -> &ValueContainer
pub const fn container(&self) -> &ValueContainer
Borrows the preserved runtime value.
§Returns
A shared reference to the preserved scalar-or-collection container.
Sourcepub fn into_container(self) -> ValueContainer
pub fn into_container(self) -> ValueContainer
Consumes this payload and returns its runtime value.
§Returns
The preserved scalar-or-collection container.
Trait Implementations§
Source§impl Clone for ValueWirePayloadV1
impl Clone for ValueWirePayloadV1
Source§fn clone(&self) -> ValueWirePayloadV1
fn clone(&self) -> ValueWirePayloadV1
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 ValueWirePayloadV1
impl Debug for ValueWirePayloadV1
impl Eq for ValueWirePayloadV1
Source§impl From<ValueWirePayloadV1> for ValueContainer
impl From<ValueWirePayloadV1> for ValueContainer
Source§fn from(value: ValueWirePayloadV1) -> Self
fn from(value: ValueWirePayloadV1) -> Self
Extracts the shaped runtime value from a V1 payload.
Source§impl Hash for ValueWirePayloadV1
impl Hash for ValueWirePayloadV1
Source§impl PartialEq for ValueWirePayloadV1
impl PartialEq for ValueWirePayloadV1
Source§impl Serialize for ValueWirePayloadV1
impl Serialize for ValueWirePayloadV1
impl StructuralPartialEq for ValueWirePayloadV1
Source§impl TryFrom<MultiValues> for ValueWirePayloadV1
impl TryFrom<MultiValues> for ValueWirePayloadV1
Source§fn try_from(value: MultiValues) -> Result<Self, Self::Error>
fn try_from(value: MultiValues) -> Result<Self, Self::Error>
Validates a collection for use in a V1 payload.
Source§type Error = ValueWireEncodeError
type Error = ValueWireEncodeError
Source§impl TryFrom<Value> for ValueWirePayloadV1
impl TryFrom<Value> for ValueWirePayloadV1
Source§impl TryFrom<ValueContainer> for ValueWirePayloadV1
impl TryFrom<ValueContainer> for ValueWirePayloadV1
Source§fn try_from(value: ValueContainer) -> Result<Self, Self::Error>
fn try_from(value: ValueContainer) -> Result<Self, Self::Error>
Validates an explicitly shaped value for use in a V1 payload.