use crate::dht::dht_protocol::PeerData;
use lib3h_protocol::{data_types::DirectMessageData, Address};
pub type SpaceAddress = String;
pub type PeerAddress = String;
pub type GatewayId = String;
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub enum P2pProtocol {
Gossip(GossipData),
DirectMessage(DirectMessageData),
DirectMessageResult(DirectMessageData),
FetchData, FetchDataResponse, PeerAddress(GatewayId, PeerAddress),
JoinSpace(SpaceAddress, PeerData),
}
#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
pub struct GossipData {
pub space_address: Address,
pub to_peer_address: Address,
pub from_peer_address: Address,
pub bundle: Vec<u8>,
}