@@ -12,15 +12,15 @@ use nostr::nips::nip65::{self, RelayMetadata};
1212use nostr:: util:: BoxedFuture ;
1313use nostr:: { Event , Kind , PublicKey , RelayUrl , TagKind , TagStandard , Timestamp } ;
1414use nostr_gossip:: error:: GossipError ;
15+ use nostr_gossip:: flags:: GossipFlags ;
1516use nostr_gossip:: { BestRelaySelection , GossipListKind , GossipPublicKeyStatus , NostrGossip } ;
1617use tokio:: sync:: Mutex ;
1718
1819use crate :: constant:: { MAX_NIP17_SIZE , MAX_NIP65_SIZE , PUBKEY_METADATA_OUTDATED_AFTER } ;
19- use crate :: flags:: Flags ;
2020
2121#[ derive( Default ) ]
2222struct PkRelayData {
23- bitflags : Flags ,
23+ bitflags : GossipFlags ,
2424 received_events : u64 ,
2525 last_received_event : Option < Timestamp > ,
2626}
@@ -73,19 +73,19 @@ impl NostrGossipMemory {
7373
7474 for ( relay_url, metadata) in nip65:: extract_relay_list ( event) . take ( MAX_NIP65_SIZE ) {
7575 // New bitflag for the relay
76- let bitflag: Flags = match metadata {
77- Some ( RelayMetadata :: Read ) => Flags :: READ ,
78- Some ( RelayMetadata :: Write ) => Flags :: WRITE ,
76+ let bitflag: GossipFlags = match metadata {
77+ Some ( RelayMetadata :: Read ) => GossipFlags :: READ ,
78+ Some ( RelayMetadata :: Write ) => GossipFlags :: WRITE ,
7979 None => {
80- let mut f = Flags :: READ ;
81- f. add ( Flags :: WRITE ) ;
80+ let mut f = GossipFlags :: READ ;
81+ f. add ( GossipFlags :: WRITE ) ;
8282 f
8383 }
8484 } ;
8585
8686 // Create a mask for READ and WRITE flags
87- let mut read_write_mask: Flags = Flags :: READ ;
88- read_write_mask. add ( Flags :: WRITE ) ;
87+ let mut read_write_mask: GossipFlags = GossipFlags :: READ ;
88+ read_write_mask. add ( GossipFlags :: WRITE ) ;
8989
9090 match pk_data. relays . get_mut ( relay_url) {
9191 Some ( relay_data) => {
@@ -110,11 +110,11 @@ impl NostrGossipMemory {
110110 for relay_url in nip17:: extract_relay_list ( event) . take ( MAX_NIP17_SIZE ) {
111111 match pk_data. relays . get_mut ( relay_url) {
112112 Some ( relay_data) => {
113- relay_data. bitflags . add ( Flags :: PRIVATE_MESSAGE ) ;
113+ relay_data. bitflags . add ( GossipFlags :: PRIVATE_MESSAGE ) ;
114114 }
115115 None => {
116116 let mut relay_data = PkRelayData :: default ( ) ;
117- relay_data. bitflags . add ( Flags :: PRIVATE_MESSAGE ) ;
117+ relay_data. bitflags . add ( GossipFlags :: PRIVATE_MESSAGE ) ;
118118
119119 pk_data. relays . insert ( relay_url. clone ( ) , relay_data) ;
120120 }
@@ -132,15 +132,15 @@ impl NostrGossipMemory {
132132 {
133133 let pk_data: & mut PkData =
134134 public_keys. get_or_insert_mut ( * public_key, PkData :: default) ;
135- update_relay_per_user ( pk_data, relay_url. clone ( ) , Flags :: HINT ) ;
135+ update_relay_per_user ( pk_data, relay_url. clone ( ) , GossipFlags :: HINT ) ;
136136 }
137137 }
138138 }
139139 }
140140
141141 if let Some ( relay_url) = relay_url {
142142 let pk_data: & mut PkData = public_keys. get_or_insert_mut ( event. pubkey , PkData :: default) ;
143- update_relay_per_user ( pk_data, relay_url. clone ( ) , Flags :: RECEIVED ) ;
143+ update_relay_per_user ( pk_data, relay_url. clone ( ) , GossipFlags :: RECEIVED ) ;
144144 }
145145 }
146146
@@ -207,69 +207,74 @@ impl NostrGossipMemory {
207207 most_received,
208208 } => {
209209 // Get read relays
210- relays. extend ( self . get_relays_by_flag ( & public_keys, public_key, Flags :: READ , read) ) ;
210+ relays. extend ( self . get_relays_by_flag (
211+ & public_keys,
212+ public_key,
213+ GossipFlags :: READ ,
214+ read,
215+ ) ) ;
211216
212217 // Get write relays
213218 relays. extend ( self . get_relays_by_flag (
214219 & public_keys,
215220 public_key,
216- Flags :: WRITE ,
221+ GossipFlags :: WRITE ,
217222 write,
218223 ) ) ;
219224
220225 // Get hint relays
221226 relays. extend ( self . get_relays_by_flag (
222227 & public_keys,
223228 public_key,
224- Flags :: HINT ,
229+ GossipFlags :: HINT ,
225230 hints,
226231 ) ) ;
227232
228233 // Get most received relays
229234 relays. extend ( self . get_relays_by_flag (
230235 & public_keys,
231236 public_key,
232- Flags :: RECEIVED ,
237+ GossipFlags :: RECEIVED ,
233238 most_received,
234239 ) ) ;
235240 }
236241 BestRelaySelection :: Read { limit } => {
237242 relays. extend ( self . get_relays_by_flag (
238243 & public_keys,
239244 public_key,
240- Flags :: READ ,
245+ GossipFlags :: READ ,
241246 limit,
242247 ) ) ;
243248 }
244249 BestRelaySelection :: Write { limit } => {
245250 relays. extend ( self . get_relays_by_flag (
246251 & public_keys,
247252 public_key,
248- Flags :: WRITE ,
253+ GossipFlags :: WRITE ,
249254 limit,
250255 ) ) ;
251256 }
252257 BestRelaySelection :: PrivateMessage { limit } => {
253258 relays. extend ( self . get_relays_by_flag (
254259 & public_keys,
255260 public_key,
256- Flags :: PRIVATE_MESSAGE ,
261+ GossipFlags :: PRIVATE_MESSAGE ,
257262 limit,
258263 ) ) ;
259264 }
260265 BestRelaySelection :: Hints { limit } => {
261266 relays. extend ( self . get_relays_by_flag (
262267 & public_keys,
263268 public_key,
264- Flags :: HINT ,
269+ GossipFlags :: HINT ,
265270 limit,
266271 ) ) ;
267272 }
268273 BestRelaySelection :: MostReceived { limit } => {
269274 relays. extend ( self . get_relays_by_flag (
270275 & public_keys,
271276 public_key,
272- Flags :: RECEIVED ,
277+ GossipFlags :: RECEIVED ,
273278 limit,
274279 ) ) ;
275280 }
@@ -282,7 +287,7 @@ impl NostrGossipMemory {
282287 & self ,
283288 tx : & LruCache < PublicKey , PkData > ,
284289 public_key : & PublicKey ,
285- flag : Flags ,
290+ flag : GossipFlags ,
286291 limit : usize ,
287292 ) -> impl Iterator < Item = RelayUrl > + ' _ {
288293 let mut relays: Vec < ( RelayUrl , u64 , Option < Timestamp > ) > = Vec :: new ( ) ;
@@ -312,7 +317,7 @@ impl NostrGossipMemory {
312317}
313318
314319/// Add relay per user or update the received events and bitflags.
315- fn update_relay_per_user ( pk_data : & mut PkData , relay_url : RelayUrl , flags : Flags ) {
320+ fn update_relay_per_user ( pk_data : & mut PkData , relay_url : RelayUrl , flags : GossipFlags ) {
316321 match pk_data. relays . get_mut ( & relay_url) {
317322 Some ( relay_data) => {
318323 relay_data. bitflags . add ( flags) ;
0 commit comments