pub trait CompactEncoding<T>where
T: Debug,{
// Required methods
fn preencode(&mut self, value: &T) -> Result<usize, EncodingError>;
fn encode(
&mut self,
value: &T,
buffer: &mut [u8],
) -> Result<usize, EncodingError>;
fn decode(&mut self, buffer: &[u8]) -> Result<T, EncodingError>;
}Expand description
Compact Encoding
Required Methods§
Sourcefn decode(&mut self, buffer: &[u8]) -> Result<T, EncodingError>
fn decode(&mut self, buffer: &[u8]) -> Result<T, EncodingError>
Decode
Implementors§
impl CompactEncoding<u8> for State
impl CompactEncoding<u32> for State
impl CompactEncoding<u64> for State
impl CompactEncoding<usize> for State
impl CompactEncoding<DataBlock> for HypercoreState
impl CompactEncoding<DataHash> for HypercoreState
impl CompactEncoding<DataSeek> for HypercoreState
impl CompactEncoding<DataUpgrade> for HypercoreState
impl CompactEncoding<Node> for HypercoreState
impl CompactEncoding<PartialKeypair> for State
NB: In Javascript’s sodium the secret key contains in itself also the public key, so to maintain binary compatibility, we store the public key in the oplog now twice.