pub trait Object: Sized {
const TYPE: ObjectType;
// Required methods
fn encode_body(&self) -> Result<Vec<u8>>;
fn decode_body(bytes: &[u8]) -> Result<Self>;
// Provided method
fn id(&self) -> Result<Hash> { ... }
}Expand description
A storable, content-addressed object.
Required Associated Constants§
Sourceconst TYPE: ObjectType
const TYPE: ObjectType
This object’s wire type.
Required Methods§
Sourcefn encode_body(&self) -> Result<Vec<u8>>
fn encode_body(&self) -> Result<Vec<u8>>
Canonical byte encoding that is hashed and (after compression) stored.
Sourcefn decode_body(bytes: &[u8]) -> Result<Self>
fn decode_body(bytes: &[u8]) -> Result<Self>
Reconstruct an object from its canonical body bytes.
Provided Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".