Radix Relay
Hybrid mesh communications with Signal Protocol encryption
Loading...
Searching...
No Matches
events.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <nostr/protocol.hpp>
4
6
8namespace incoming {
9
12 {
13 explicit bundle_announcement(const protocol::event_data &event) : protocol::event_data(event) {}
14 };
15
18 {
19 explicit identity_announcement(const protocol::event_data &event) : protocol::event_data(event) {}
20 };
21
24 {
25 explicit encrypted_message(const protocol::event_data &event) : protocol::event_data(event) {}
26 };
27
30 {
31 explicit session_request(const protocol::event_data &event) : protocol::event_data(event) {}
32 };
33
36 {
37 explicit node_status(const protocol::event_data &event) : protocol::event_data(event) {}
38 };
39
42 {
43 explicit unknown_message(const protocol::event_data &event) : protocol::event_data(event) {}
44 };
45
48 {
49 explicit ok(const protocol::ok &msg) : protocol::ok(msg) {}
50 };
51
54 {
55 explicit eose(const protocol::eose &msg) : protocol::eose(msg) {}
56 };
57
60 {
61 std::string message;
62 explicit unknown_protocol(std::string msg) : message(std::move(msg)) {}
63 };
64
65}// namespace incoming
66
68namespace outgoing {
69
72 {
73 explicit bundle_announcement(const protocol::event_data &event) : protocol::event_data(event) {}
74 };
75
78 {
79 explicit identity_announcement(const protocol::event_data &event) : protocol::event_data(event) {}
80 };
81
84 {
85 explicit encrypted_message(const protocol::event_data &event) : protocol::event_data(event) {}
86 };
87
90 {
91 explicit session_request(const protocol::event_data &event) : protocol::event_data(event) {}
92 };
93
96 {
97 std::string recipient;
98 std::string message;
99
100 plaintext_message(std::string recipient_id, std::string msg)
101 : recipient(std::move(recipient_id)), message(std::move(msg))
102 {}
103 };
104
107 {
108 std::string subscription_json;
109
110 explicit subscription_request(std::string sub_json) : subscription_json(std::move(sub_json)) {}
111
117 [[nodiscard]] auto get_subscription_id() const -> std::string;
118 };
119
120}// namespace outgoing
121
122}// namespace radix_relay::nostr::events
bundle_announcement(const protocol::event_data &event)
Definition events.hpp:13
Received encrypted message event (kind 40001)
Definition events.hpp:24
encrypted_message(const protocol::event_data &event)
Definition events.hpp:25
Received End of Stored Events marker.
Definition events.hpp:54
eose(const protocol::eose &msg)
Definition events.hpp:55
Received identity announcement event.
Definition events.hpp:18
identity_announcement(const protocol::event_data &event)
Definition events.hpp:19
Received node status announcement.
Definition events.hpp:36
node_status(const protocol::event_data &event)
Definition events.hpp:37
Received OK response from relay.
Definition events.hpp:48
ok(const protocol::ok &msg)
Definition events.hpp:49
Received session establishment request.
Definition events.hpp:30
session_request(const protocol::event_data &event)
Definition events.hpp:31
Received unknown/unrecognized message type.
Definition events.hpp:42
unknown_message(const protocol::event_data &event)
Definition events.hpp:43
Received unknown protocol message.
Definition events.hpp:60
bundle_announcement(const protocol::event_data &event)
Definition events.hpp:73
encrypted_message(const protocol::event_data &event)
Definition events.hpp:85
identity_announcement(const protocol::event_data &event)
Definition events.hpp:79
Plaintext message before encryption.
Definition events.hpp:96
plaintext_message(std::string recipient_id, std::string msg)
Definition events.hpp:100
std::string recipient
Recipient RDX fingerprint or alias.
Definition events.hpp:97
Session establishment request to send.
Definition events.hpp:90
session_request(const protocol::event_data &event)
Definition events.hpp:91
std::string subscription_json
JSON-formatted subscription filter.
Definition events.hpp:108
auto get_subscription_id() const -> std::string
Extracts the subscription ID from the JSON.
End of Stored Events marker.
Definition protocol.hpp:169
Nostr event data structure.
Definition protocol.hpp:44
Nostr OK response message.
Definition protocol.hpp:149