pub trait Encoder: Sized {
// Required methods
fn encode_byte(&mut self, byte: u8) -> Result<(), EncodeError>;
fn write_all(&mut self, buf: impl AsRef<[u8]>) -> Result<(), EncodeError>;
// Provided methods
fn encode_bytes(
&mut self,
bytes: impl AsRef<[u8]>,
) -> Result<(), EncodeError> { ... }
fn encode_magic(&mut self) -> Result<(), EncodeError> { ... }
fn encode(&mut self, value: impl Encode) -> Result<(), EncodeError> { ... }
}Expand description
Helper trait for writing OpenTimestamps primitives to a byte stream.
Required Methods§
Sourcefn encode_byte(&mut self, byte: u8) -> Result<(), EncodeError>
fn encode_byte(&mut self, byte: u8) -> Result<(), EncodeError>
Encodes a single byte to the writer.
fn write_all(&mut self, buf: impl AsRef<[u8]>) -> Result<(), EncodeError>
Provided Methods§
Sourcefn encode_bytes(&mut self, bytes: impl AsRef<[u8]>) -> Result<(), EncodeError>
fn encode_bytes(&mut self, bytes: impl AsRef<[u8]>) -> Result<(), EncodeError>
Encodes a byte slice prefixed with its length.
Sourcefn encode_magic(&mut self) -> Result<(), EncodeError>
fn encode_magic(&mut self) -> Result<(), EncodeError>
Writes the OpenTimestamps magic sequence to the stream.
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.