Trait Codec

Source
pub trait Codec {
    // Required methods
    fn codec_serialize<W: Write>(&self, dest: &mut W) -> Result<()>;
    fn codec_deserialize<R: Read>(data: &mut R) -> Result<Self>
       where Self: Sized;

    // Provided methods
    fn serialize<W: Write>(&self, dest: &mut W) -> StacksResult<()> { ... }
    fn deserialize<R: Read>(data: &mut R) -> StacksResult<Self>
       where Self: Sized { ... }
    fn serialize_to_vec(&self) -> Vec<u8>  { ... }
}
Expand description

Serializing and deserializing Stacks data types

Required Methods§

Source

fn codec_serialize<W: Write>(&self, dest: &mut W) -> Result<()>

Serialize to a writer

Source

fn codec_deserialize<R: Read>(data: &mut R) -> Result<Self>
where Self: Sized,

Deserialize from a reader

Provided Methods§

Source

fn serialize<W: Write>(&self, dest: &mut W) -> StacksResult<()>

Serialize to a writer and return a StacksResult

Source

fn deserialize<R: Read>(data: &mut R) -> StacksResult<Self>
where Self: Sized,

Deserialize from a reader and return a StacksResult

Source

fn serialize_to_vec(&self) -> Vec<u8>

Serialize to a vector

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl Codec for u64

Source§

fn codec_serialize<W: Write>(&self, dest: &mut W) -> Result<()>

Source§

fn codec_deserialize<R: Read>(data: &mut R) -> Result<Self>
where Self: Sized,

Source§

impl Codec for Script

Source§

fn codec_serialize<W: Write>(&self, dest: &mut W) -> Result<()>

Source§

fn codec_deserialize<R: Read>(data: &mut R) -> Result<Self>
where Self: Sized,

Source§

impl Codec for Amount

Source§

fn codec_serialize<W: Write>(&self, dest: &mut W) -> Result<()>

Source§

fn codec_deserialize<R: Read>(data: &mut R) -> Result<Self>
where Self: Sized,

Source§

impl Codec for RecoverableSignature

Source§

fn codec_serialize<W: Write>(&self, dest: &mut W) -> Result<()>

Source§

fn codec_deserialize<R: Read>(data: &mut R) -> Result<Self>
where Self: Sized,

Implementors§