use super::OperationId;
use crate::messaging::{
data::{DataQueryVariant, QueryResponse},
ClientAuth,
};
use crate::types::{DataAddress, PublicKey, ReplicatedData};
use serde::{Deserialize, Serialize};
#[allow(clippy::large_enum_variant)]
#[derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)]
pub enum NodeDataCmd {
StoreData(ReplicatedData),
ReplicateDataBatch(Vec<ReplicatedData>),
SendAnyMissingRelevantData(Vec<DataAddress>),
}
#[allow(clippy::large_enum_variant)]
#[derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)]
pub enum NodeEvent {
CouldNotStoreData {
node_id: PublicKey,
data_address: DataAddress,
full: bool,
},
}
#[derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)]
#[allow(clippy::large_enum_variant)]
pub struct NodeDataQuery {
pub query: DataQueryVariant,
pub auth: ClientAuth,
pub operation_id: OperationId,
}
pub type NodeQueryResponse = QueryResponse;