Note multicasting

This is an initial implementation of note multicast, which sends posted
notes to other notedecks on the same network.

This came about after I nerd sniped myself thinking about p2p nostr on
local networks[1]

You can test this exclusively without joining any other relays by
passing -r multicast on the command line.

[1] https://damus.io/note1j50pseqwma38g3aqrsnhvld0m0ysdgppw6fjnvvcj0haeulgswgq80lpca

Signed-off-by: William Casarin <jb55@jb55.com>
This commit is contained in:
William Casarin
2025-01-01 18:49:46 -06:00
parent f5afdd04a6
commit fe6206c546
16 changed files with 406 additions and 125 deletions

View File

@@ -9,7 +9,7 @@ pub struct RelayPoolManager<'a> {
pub struct RelayInfo<'a> {
pub relay_url: &'a str,
pub status: &'a RelayStatus,
pub status: RelayStatus,
}
impl<'a> RelayPoolManager<'a> {
@@ -22,8 +22,8 @@ impl<'a> RelayPoolManager<'a> {
.relays
.iter()
.map(|relay| RelayInfo {
relay_url: &relay.relay.url,
status: &relay.relay.status,
relay_url: relay.url(),
status: relay.status(),
})
.collect()
}