1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
use std::sync::Arc;
use cid::Cid;
use tokio::sync::RwLock;
use distrox_lib::gossip::GossipMessage;
use distrox_lib::profile::Profile;
use distrox_lib::types::Payload;
use crate::gossip::GossipRecipe;
#[derive(Clone, Debug)]
pub enum Message {
Loaded(Arc<RwLock<Profile>>),
FailedToLoad(String),
ProfileStateSaved,
ProfileStateSavingFailed(String),
ToggleLog,
GossipMessage(ipfs::PeerId, GossipMessage),
GossipSubscriptionFailed(String),
GossipHandled(GossipMessage),
PublishGossipAboutMe,
OwnStateGossipped,
GossippingFailed(String),
InputChanged(String),
CreatePost,
PostCreated(Cid),
PostCreationFailed(String),
PostLoaded((Payload, String)),
PostLoadingFailed,
TimelineScrolled(f32),
}
impl Message {
pub fn description(&self) -> &'static str {
match self {
Message::Loaded(_) => "Loaded",
Message::FailedToLoad(_) => "FailedToLoad",
Message::ProfileStateSaved => "ProfileStateSaved",
Message::ProfileStateSavingFailed(_) => "ProfileStateSavingFailed",
Message::ToggleLog => "ToggleLog",
Message::GossipMessage(_, _) => "GossipMessage",
Message::GossipSubscriptionFailed(_) => "GossipSubscriptionFailed",
Message::GossipHandled(_) => "GossipHandled",
Message::PublishGossipAboutMe => "PublishGossipAboutMe",
Message::OwnStateGossipped => "OwnStateGossipped",
Message::GossippingFailed(_) => "GossippingFailed",
Message::InputChanged(_) => "InputChanged",
Message::CreatePost => "CreatePost",
Message::PostCreated(_) => "PostCreated",
Message::PostCreationFailed(_) => "PostCreationFailed",
Message::PostLoaded(_) => "PostLoaded",
Message::PostLoadingFailed => "PostLoadingFailed",
Message::TimelineScrolled(_) => "TimelineScrolled",
}
}
}
|