Skip to main content

PostcardValue

Trait PostcardValue 

Source
pub trait PostcardValue:
    Sized
    + Send
    + Sync {
    // Required methods
    fn write(&self, bytes: &mut Vec<u8>);
    fn size(&self) -> usize;
    fn memory(input: &mut Reader<'_>) -> Result<usize, MessageError>;
    fn read(input: &mut Reader<'_>) -> Result<Self, MessageError>;

    // Provided methods
    fn size_many(values: &[Self]) -> usize { ... }
    fn write_many(values: &[Self], bytes: &mut Vec<u8>) { ... }
    fn memory_many(
        input: &mut Reader<'_>,
        count: usize,
    ) -> Result<usize, MessageError> { ... }
    fn read_many(
        input: &mut Reader<'_>,
        count: usize,
    ) -> Result<Vec<Self>, MessageError> { ... }
}

Required Methods§

Source

fn write(&self, bytes: &mut Vec<u8>)

Source

fn size(&self) -> usize

Source

fn memory(input: &mut Reader<'_>) -> Result<usize, MessageError>

Source

fn read(input: &mut Reader<'_>) -> Result<Self, MessageError>

Provided Methods§

Source

fn size_many(values: &[Self]) -> usize

Source

fn write_many(values: &[Self], bytes: &mut Vec<u8>)

Source

fn memory_many( input: &mut Reader<'_>, count: usize, ) -> Result<usize, MessageError>

Source

fn read_many( input: &mut Reader<'_>, count: usize, ) -> Result<Vec<Self>, MessageError>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl Value for ()

Source§

fn write(&self, bytes: &mut Vec<u8>)

Source§

fn size(&self) -> usize

Source§

fn memory(input: &mut Reader<'_>) -> Result<usize, MessageError>

Source§

fn read(input: &mut Reader<'_>) -> Result<(), MessageError>

Source§

impl Value for NonZero<u32>

Source§

fn write(&self, bytes: &mut Vec<u8>)

Source§

fn size(&self) -> usize

Source§

fn memory(input: &mut Reader<'_>) -> Result<usize, MessageError>

Source§

fn read(input: &mut Reader<'_>) -> Result<NonZero<u32>, MessageError>

Source§

impl Value for NonZero<u64>

Source§

fn write(&self, bytes: &mut Vec<u8>)

Source§

fn size(&self) -> usize

Source§

fn memory(input: &mut Reader<'_>) -> Result<usize, MessageError>

Source§

fn read(input: &mut Reader<'_>) -> Result<NonZero<u64>, MessageError>

Source§

impl Value for String

Source§

fn write(&self, bytes: &mut Vec<u8>)

Source§

fn size(&self) -> usize

Source§

fn memory(input: &mut Reader<'_>) -> Result<usize, MessageError>

Source§

fn read(input: &mut Reader<'_>) -> Result<String, MessageError>

Source§

impl Value for bool

Source§

fn write(&self, bytes: &mut Vec<u8>)

Source§

fn size(&self) -> usize

Source§

fn memory(input: &mut Reader<'_>) -> Result<usize, MessageError>

Source§

fn read(input: &mut Reader<'_>) -> Result<bool, MessageError>

Source§

impl Value for f32

Source§

fn write(&self, bytes: &mut Vec<u8>)

Source§

fn size(&self) -> usize

Source§

fn memory(input: &mut Reader<'_>) -> Result<usize, MessageError>

Source§

fn read(input: &mut Reader<'_>) -> Result<f32, MessageError>

Source§

impl Value for f64

Source§

fn write(&self, bytes: &mut Vec<u8>)

Source§

fn size(&self) -> usize

Source§

fn memory(input: &mut Reader<'_>) -> Result<usize, MessageError>

Source§

fn read(input: &mut Reader<'_>) -> Result<f64, MessageError>

Source§

impl Value for i32

Source§

fn write(&self, bytes: &mut Vec<u8>)

Source§

fn size(&self) -> usize

Source§

fn memory(input: &mut Reader<'_>) -> Result<usize, MessageError>

Source§

fn read(input: &mut Reader<'_>) -> Result<i32, MessageError>

Source§

impl Value for i64

Source§

fn write(&self, bytes: &mut Vec<u8>)

Source§

fn size(&self) -> usize

Source§

fn memory(input: &mut Reader<'_>) -> Result<usize, MessageError>

Source§

fn read(input: &mut Reader<'_>) -> Result<i64, MessageError>

Source§

impl Value for u8

Source§

fn write(&self, bytes: &mut Vec<u8>)

Source§

fn size(&self) -> usize

Source§

fn memory(input: &mut Reader<'_>) -> Result<usize, MessageError>

Source§

fn read(input: &mut Reader<'_>) -> Result<u8, MessageError>

Source§

fn size_many(values: &[u8]) -> usize

Source§

fn write_many(values: &[u8], bytes: &mut Vec<u8>)

Source§

fn memory_many( input: &mut Reader<'_>, count: usize, ) -> Result<usize, MessageError>

Source§

fn read_many( input: &mut Reader<'_>, count: usize, ) -> Result<Vec<u8>, MessageError>

Source§

impl Value for u32

Source§

fn write(&self, bytes: &mut Vec<u8>)

Source§

fn size(&self) -> usize

Source§

fn memory(input: &mut Reader<'_>) -> Result<usize, MessageError>

Source§

fn read(input: &mut Reader<'_>) -> Result<u32, MessageError>

Source§

impl Value for u64

Source§

fn write(&self, bytes: &mut Vec<u8>)

Source§

fn size(&self) -> usize

Source§

fn memory(input: &mut Reader<'_>) -> Result<usize, MessageError>

Source§

fn read(input: &mut Reader<'_>) -> Result<u64, MessageError>

Source§

impl Value for usize

Source§

fn write(&self, bytes: &mut Vec<u8>)

Source§

fn size(&self) -> usize

Source§

fn memory(input: &mut Reader<'_>) -> Result<usize, MessageError>

Source§

fn read(input: &mut Reader<'_>) -> Result<usize, MessageError>

Source§

impl<T> Value for Box<T>
where T: Value,

Source§

fn write(&self, bytes: &mut Vec<u8>)

Source§

fn size(&self) -> usize

Source§

fn memory(input: &mut Reader<'_>) -> Result<usize, MessageError>

Source§

fn read(input: &mut Reader<'_>) -> Result<Box<T>, MessageError>

Source§

impl<T> Value for Option<T>
where T: Value,

Source§

fn write(&self, bytes: &mut Vec<u8>)

Source§

fn size(&self) -> usize

Source§

fn memory(input: &mut Reader<'_>) -> Result<usize, MessageError>

Source§

fn read(input: &mut Reader<'_>) -> Result<Option<T>, MessageError>

Source§

impl<T> Value for Vec<T>
where T: Value,

Source§

fn write(&self, bytes: &mut Vec<u8>)

Source§

fn size(&self) -> usize

Source§

fn memory(input: &mut Reader<'_>) -> Result<usize, MessageError>

Source§

fn read(input: &mut Reader<'_>) -> Result<Vec<T>, MessageError>

Source§

impl<const N: usize> Value for [u8; N]

Source§

fn write(&self, bytes: &mut Vec<u8>)

Source§

fn size(&self) -> usize

Source§

fn memory(input: &mut Reader<'_>) -> Result<usize, MessageError>

Source§

fn read(input: &mut Reader<'_>) -> Result<[u8; N], MessageError>

Implementors§

Source§

impl Value for AbandonFile

Source§

impl Value for Activation

Source§

impl Value for Agg

Source§

impl Value for harmos_runtime::Aggregate

Source§

impl Value for harmos_runtime::storage::query::transform::aggregate::Aggregate

Source§

impl Value for AppendFile

Source§

impl Value for ArrowIpc

Source§

impl Value for BatchReceipt

Source§

impl Value for ByteRange

Source§

impl Value for Cancel

Source§

impl Value for Catalog

Source§

impl Value for CatalogPage

Source§

impl Value for Clause

Source§

impl Value for Condition

Source§

impl Value for Context

Source§

impl Value for Control

Source§

impl Value for CreateFile

Source§

impl Value for DataBatch

Source§

impl Value for DeleteFile

Source§

impl Value for Downsample

Source§

impl Value for ExactNumber

Source§

impl Value for FieldPath

Source§

impl Value for FileBatch

Source§

impl Value for FileCompletion

Source§

impl Value for FileMetadata

Source§

impl Value for FileProducer

Source§

impl Value for FileProgress

Source§

impl Value for FileReference

Source§

impl Value for FileSelection

Source§

impl Value for FileSession

Source§

impl Value for Filter

Source§

impl Value for FinishFile

Source§

impl Value for FollowBoundaries

Source§

impl Value for FollowFile

Source§

impl Value for FollowObjects

Source§

impl Value for FollowRecords

Source§

impl Value for FollowStream

Source§

impl Value for Followed

Source§

impl Value for FollowingRow

Source§

impl Value for Histogram

Source§

impl Value for Identifier

Source§

impl Value for Initialize

Source§

impl Value for InstanceState

Source§

impl Value for Measure

Source§

impl Value for Metadata

Source§

impl Value for MutationId

Source§

impl Value for MutationWindow

Source§

impl Value for NoStream

Source§

impl Value for ObjectEntry

Source§

impl Value for ObjectKey

Source§

impl Value for ObjectReceipt

Source§

impl Value for ObjectSelection

Source§

impl Value for ObjectValue

Source§

impl Value for ObjectVersionToken

Source§

impl Value for Project

Source§

impl Value for Projection

Source§

impl Value for Publish

Source§

impl Value for Query

Source§

impl Value for QueryCompletion

Source§

impl Value for QueryOutput

Source§

impl Value for ReadFile

Source§

impl Value for RecordInput

Source§

impl Value for RecordSelection

Source§

impl Value for ResumeFile

Source§

impl Value for RowSlice

Source§

impl Value for ScalarValue

Source§

impl Value for Schema

Source§

impl Value for SchemaInfo

Source§

impl Value for SchemaInput

Source§

impl Value for SchemaKey

Source§

impl Value for SchemaSelection

Source§

impl Value for Shutdown

Source§

impl Value for Sort

Source§

impl Value for SortKey

Source§

impl Value for Source

Source§

impl Value for StagedFile

Source§

impl Value for Status

Source§

impl Value for StorageCursor

Source§

impl Value for StorageInfo

Source§

impl Value for StorageStatus

Source§

impl Value for StoreHistory

Source§

impl Value for StoredRecord

Source§

impl Value for StoredRow

Source§

impl Value for StreamInput

Source§

impl Value for StreamSelection

Source§

impl Value for Term

Source§

impl Value for Transform

Source§

impl Value for Value

Source§

impl Value for Watch

Source§

impl Value for WriteCompletion

Source§

impl Value for WriteFile

Source§

impl Value for WriteObjects

Source§

impl Value for WriteReceipt

Source§

impl Value for WriteRecords

Source§

impl Value for WriteSchema

Source§

impl Value for WriteStreams