From 11c81ba2bdfee390824eeb7632b8d66664c34ec0 Mon Sep 17 00:00:00 2001 From: Mike Dilger Date: Thu, 11 Apr 2024 12:08:28 +1200 Subject: [PATCH] code renames/reordering around feed subscriptions --- gossip-lib/src/comms.rs | 2 +- gossip-lib/src/overlord/minion/filter_fns.rs | 60 ++++++++++---------- gossip-lib/src/overlord/minion/mod.rs | 14 ++--- gossip-lib/src/overlord/mod.rs | 2 +- 4 files changed, 39 insertions(+), 39 deletions(-) diff --git a/gossip-lib/src/comms.rs b/gossip-lib/src/comms.rs index cf104c8b..33174b6f 100644 --- a/gossip-lib/src/comms.rs +++ b/gossip-lib/src/comms.rs @@ -252,7 +252,7 @@ pub(crate) enum ToMinionPayloadDetail { PostEvents(Vec), Shutdown, SubscribeAugments(Vec), - SubscribeOutbox, + SubscribeConfig, SubscribeDiscover(Vec), SubscribeGeneralFeed(Vec), SubscribeInbox, diff --git a/gossip-lib/src/overlord/minion/filter_fns.rs b/gossip-lib/src/overlord/minion/filter_fns.rs index c6c95da2..c9c54fed 100644 --- a/gossip-lib/src/overlord/minion/filter_fns.rs +++ b/gossip-lib/src/overlord/minion/filter_fns.rs @@ -29,22 +29,7 @@ pub fn general_feed( filters } -pub fn augments(ids: &[IdHex]) -> Vec { - let event_kinds = crate::feed::feed_augment_event_kinds(); - - let filter = { - let mut filter = Filter { - kinds: event_kinds, - ..Default::default() - }; - filter.set_tag_values('e', ids.iter().map(|id| id.to_string()).collect()); - filter - }; - - vec![filter] -} - -pub fn inbox(since: Unixtime, until: Option, spamsafe: bool) -> Vec { +pub fn inbox_feed(since: Unixtime, until: Option, spamsafe: bool) -> Vec { let mut filters: Vec = Vec::new(); // GiftWrap lookback needs to be one week further back @@ -107,7 +92,35 @@ pub fn inbox(since: Unixtime, until: Option, spamsafe: bool) -> Vec Vec { +pub fn person_feed(pubkey: PublicKey, since: Unixtime, until: Option) -> Vec { + // Allow all feed related event kinds (excluding DMs) + let event_kinds = crate::feed::feed_displayable_event_kinds(false); + + vec![Filter { + authors: vec![pubkey.into()], + kinds: event_kinds, + since: Some(since), + until, + ..Default::default() + }] +} + +pub fn augments(ids: &[IdHex]) -> Vec { + let event_kinds = crate::feed::feed_augment_event_kinds(); + + let filter = { + let mut filter = Filter { + kinds: event_kinds, + ..Default::default() + }; + filter.set_tag_values('e', ids.iter().map(|id| id.to_string()).collect()); + filter + }; + + vec![filter] +} + +pub fn config(since: Unixtime) -> Vec { if let Some(pubkey) = GLOBALS.identity.public_key() { let pkh: PublicKeyHex = pubkey.into(); let giftwrap_since = Unixtime(since.0 - 60 * 60 * 24 * 7); @@ -162,19 +175,6 @@ pub fn discover(pubkeys: &[PublicKey]) -> Vec { }] } -pub fn person_feed(pubkey: PublicKey, since: Unixtime, until: Option) -> Vec { - // Allow all feed related event kinds (excluding DMs) - let event_kinds = crate::feed::feed_displayable_event_kinds(false); - - vec![Filter { - authors: vec![pubkey.into()], - kinds: event_kinds, - since: Some(since), - until, - ..Default::default() - }] -} - // ancestors can be done with FetchEvent, FetchEventAddr pub fn replies(main: IdHex, spamsafe: bool) -> Vec { diff --git a/gossip-lib/src/overlord/minion/mod.rs b/gossip-lib/src/overlord/minion/mod.rs index 914ef943..7d9358d8 100644 --- a/gossip-lib/src/overlord/minion/mod.rs +++ b/gossip-lib/src/overlord/minion/mod.rs @@ -556,8 +556,8 @@ impl Minion { ToMinionPayloadDetail::SubscribeInbox => { self.subscribe_inbox(message.job_id).await?; } - ToMinionPayloadDetail::SubscribeOutbox => { - self.subscribe_outbox(message.job_id).await?; + ToMinionPayloadDetail::SubscribeConfig => { + self.subscribe_config(message.job_id).await?; } ToMinionPayloadDetail::SubscribeDiscover(pubkeys) => { self.subscribe_discover(message.job_id, pubkeys).await?; @@ -714,7 +714,7 @@ impl Minion { let spamsafe = self.dbrelay.has_usage_bits(Relay::SPAMSAFE); - let filters = filter_fns::inbox(replies_since, None, spamsafe); + let filters = filter_fns::inbox_feed(replies_since, None, spamsafe); if filters.is_empty() { return Ok(()); @@ -737,11 +737,11 @@ impl Minion { Ok(()) } - // Subscribe to the user's output (config, DMs, etc) which is on their own write relays - async fn subscribe_outbox(&mut self, job_id: u64) -> Result<(), Error> { + // Subscribe to the user's config (config, DMs, etc) which is on their own write relays + async fn subscribe_config(&mut self, job_id: u64) -> Result<(), Error> { let since = self.compute_since(GLOBALS.storage.read_setting_person_feed_chunk()); - let filters = filter_fns::outbox(since); + let filters = filter_fns::config(since); if filters.is_empty() { return Ok(()); @@ -831,7 +831,7 @@ impl Minion { let spamsafe = self.dbrelay.has_usage_bits(Relay::SPAMSAFE); - let filters = filter_fns::inbox(since, Some(until), spamsafe); + let filters = filter_fns::inbox_feed(since, Some(until), spamsafe); if filters.is_empty() { self.to_overlord.send(ToOverlordMessage::MinionJobComplete( diff --git a/gossip-lib/src/overlord/mod.rs b/gossip-lib/src/overlord/mod.rs index c3be2f0e..301fd29e 100644 --- a/gossip-lib/src/overlord/mod.rs +++ b/gossip-lib/src/overlord/mod.rs @@ -2906,7 +2906,7 @@ impl Overlord { reason: RelayConnectionReason::Config, payload: ToMinionPayload { job_id: rand::random::(), - detail: ToMinionPayloadDetail::SubscribeOutbox, + detail: ToMinionPayloadDetail::SubscribeConfig, }, }], )