mod chunk_proof;
mod cmd;
mod connection_info;
mod node_id;
mod query;
mod response;
pub use self::{
chunk_proof::{ChunkProof, Nonce},
cmd::Cmd,
connection_info::ConnectionInfo,
node_id::NodeId,
query::Query,
response::{CmdResponse, QueryResponse},
};
use super::NetworkAddress;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub enum Request {
Cmd(Cmd),
Query(Query),
}
#[allow(clippy::large_enum_variant)]
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub enum Response {
Cmd(CmdResponse),
Query(QueryResponse),
}
impl Request {
pub fn dst(&self) -> NetworkAddress {
match self {
Request::Cmd(cmd) => cmd.dst(),
Request::Query(query) => query.dst(),
}
}
}
impl std::fmt::Display for Response {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
write!(f, "{self:?}")
}
}