pub trait Block:
Send
+ Sync
+ Unpin
+ Clone
+ Default
+ Debug
+ PartialEq
+ Eq
+ InMemorySize
+ MaybeSerde
+ Encodable
+ Decodable {
type Header: BlockHeader;
type Body: BlockBody<OmmerHeader = Self::Header>;
// Required methods
fn new(header: Self::Header, body: Self::Body) -> Self;
fn header(&self) -> &Self::Header;
fn body(&self) -> &Self::Body;
fn split(self) -> (Self::Header, Self::Body);
}
Expand description
Abstraction of block data type.
Required Associated Types§
Sourcetype Header: BlockHeader
type Header: BlockHeader
Header part of the block.
Required Methods§
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.