Skip to main content

deaddrop_core/
lifecycle.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
4#[serde(rename_all = "snake_case")]
5pub enum DropState {
6    Created,
7    Stored,
8    Queued,
9    Offered,
10    PartiallyTransferred,
11    Forwarded,
12    Delivered,
13    Expired,
14    Rejected,
15    GarbageCollected,
16}
17
18#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
19#[serde(rename_all = "snake_case")]
20pub enum SessionState {
21    Disconnected,
22    TransportConnected,
23    Negotiating,
24    Authenticated,
25    InventorySync,
26    Transferring,
27    Idle,
28    Closing,
29}
30
31#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
32#[serde(rename_all = "snake_case")]
33pub enum Ownership {
34    Local,
35    Incoming,
36    Relay,
37    Temporary,
38}
39
40#[repr(u8)]
41#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
42#[serde(rename_all = "snake_case")]
43pub enum ReceiptKind {
44    Accepted,
45    Stored,
46    Forwarded,
47    Delivered,
48    /// Application opt-in only. MUST NOT be emitted by core unless requested.
49    Opened,
50    Rejected,
51    Expired,
52}