gwyh 0.1.0

gwyh is a sweet gossip library
Documentation
use std::ops::Range;

use serde::{Deserialize, Serialize};
use uuid::Uuid;

use crate::peer_manager::PeerRequest;

#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
pub struct Message {
    pub(crate) id: Uuid,
    pub(crate) body: Body,
}

#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)]
pub struct Frame {
    len: usize,
    idx: usize,
    data: Vec<u8>,
}

#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
pub enum Body {
    Broadcast(Vec<u8>),
    PeerRequest(Box<PeerRequest>),
    Frame(Frame),
    Nak(Range<u32>),
}