#![deny(missing_docs)]
#![deny(unsafe_code)]
#![deny(warnings)]
use kitsune_p2p_types::{dht::region::RegionCoords, KAgent, KOpHash, KSpace};
mod error;
mod pool;
mod respond;
mod rough_sized;
pub use error::*;
pub use pool::*;
pub use respond::*;
pub use rough_sized::*;
#[derive(
Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, serde::Deserialize, serde::Serialize,
)]
#[serde(tag = "type", content = "key", rename_all = "camelCase")]
pub enum FetchKey {
Region(RegionCoords),
Op(KOpHash),
}
#[derive(Debug, Clone, PartialEq)]
pub struct FetchPoolPush {
pub key: FetchKey,
pub space: KSpace,
pub source: FetchSource,
pub size: Option<RoughInt>,
pub author: Option<KAgent>,
pub context: Option<FetchContext>,
}
#[derive(
Default,
Debug,
Clone,
Copy,
PartialEq,
Eq,
serde::Serialize,
serde::Deserialize,
derive_more::Deref,
derive_more::From,
)]
pub struct FetchContext(pub u32);