p2p/network/kad/request/
p2p_network_kad_request_state.rs1use std::net::SocketAddr;
2
3use malloc_size_of_derive::MallocSizeOf;
4use serde::{Deserialize, Serialize};
5
6use crate::{P2pNetworkKadEntry, PeerId, StreamId};
7
8#[derive(Debug, Clone, Serialize, Deserialize, MallocSizeOf)]
9pub struct P2pNetworkKadRequestState {
10 pub peer_id: PeerId,
12 pub key: PeerId,
14 #[ignore_malloc_size_of = "doesn't allocate"]
16 pub addr: SocketAddr,
17 pub status: P2pNetworkKadRequestStatus,
19}
20
21#[derive(Debug, Clone, Serialize, Deserialize, Default, MallocSizeOf)]
22pub enum P2pNetworkKadRequestStatus {
23 #[default]
24 Default,
25 Disconnected,
26 WaitingForConnection,
27 WaitingForKadStream(StreamId),
28 Request(Vec<u8>),
29 WaitingForReply,
30 Reply(Vec<P2pNetworkKadEntry>),
31 Error(String),
32}