huddle_core/app/
events.rs1use libp2p::PeerId;
2
3#[derive(Debug, Clone)]
4pub struct DiscoveredRoom {
5 pub room_id: String,
6 pub name: String,
7 pub encrypted: bool,
8 pub member_count: u32,
9 pub creator_fingerprint: String,
10 pub last_seen: i64,
11}
12
13#[derive(Debug, Clone)]
14pub enum AppEvent {
15 RoomDiscovered(DiscoveredRoom),
17 RoomLost { room_id: String },
19 RoomJoined { room_id: String },
21 RoomLeft { room_id: String },
23 MemberJoined {
25 room_id: String,
26 fingerprint: String,
27 },
28 MemberLeft {
30 room_id: String,
31 fingerprint: String,
32 },
33 MessageReceived {
35 room_id: String,
36 sender_fingerprint: String,
37 body: String,
38 sent_at: i64,
39 },
40 MessageSent {
42 room_id: String,
43 body: String,
44 message_id: i64,
45 },
46 ListeningOn { address: String },
48 PeerDiscovered { peer_id: PeerId },
50 Dialing { address: String },
52 DialSucceeded { address: String, peer_id: PeerId },
54 DialFailed { address: String, error: String },
56 Error { description: String },
58}