pub struct VCLPacket {
pub version: u8,
pub sequence: u64,
pub prev_hash: Vec<u8>,
pub nonce: [u8; 24],
pub payload: Vec<u8>,
pub signature: Vec<u8>,
}Fields§
§version: u8§sequence: u64§prev_hash: Vec<u8>§nonce: [u8; 24]§payload: Vec<u8>§signature: Vec<u8>Implementations§
Source§impl VCLPacket
impl VCLPacket
pub fn new( sequence: u64, prev_hash: Vec<u8>, payload: Vec<u8>, nonce: [u8; 24], ) -> Self
pub fn compute_hash(&self) -> Vec<u8> ⓘ
pub fn sign(&mut self, private_key: &[u8])
pub fn verify(&self, public_key: &[u8]) -> bool
pub fn validate_chain(&self, expected_prev_hash: &[u8]) -> bool
pub fn serialize(&self) -> Vec<u8> ⓘ
pub fn deserialize(data: &[u8]) -> Result<Self, String>
Trait Implementations§
Source§impl<'de> Deserialize<'de> for VCLPacket
impl<'de> Deserialize<'de> for VCLPacket
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for VCLPacket
impl RefUnwindSafe for VCLPacket
impl Send for VCLPacket
impl Sync for VCLPacket
impl Unpin for VCLPacket
impl UnsafeUnpin for VCLPacket
impl UnwindSafe for VCLPacket
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more