@@ -762,12 +762,7 @@ impl<PT: PubKey> AuthorIndex<PT> {
762762
763763 let message_size = message. app_message_len as MessageSize ;
764764
765- index. insert (
766- cache_key. clone ( ) ,
767- message. unix_ts_ms ,
768- Epoch ( message. epoch ) ,
769- message_size,
770- ) ;
765+ index. insert ( cache_key. clone ( ) , message. unix_ts_ms , message_size) ;
771766 self . used_size += message_size;
772767
773768 if index. is_overquota ( ) {
@@ -1000,8 +995,7 @@ struct PerAuthorIndex {
1000995 quota : Quota ,
1001996 used_size : MessageSize ,
1002997 time_index : BTreeSet < ( UnixTimestamp , CacheKey ) > ,
1003- epoch_index : BTreeSet < ( Epoch , CacheKey ) > ,
1004- reverse_index : HashMap < CacheKey , ( UnixTimestamp , Epoch , MessageSize ) > ,
998+ reverse_index : HashMap < CacheKey , ( UnixTimestamp , MessageSize ) > ,
1005999}
10061000
10071001impl PerAuthorIndex {
@@ -1010,7 +1004,6 @@ impl PerAuthorIndex {
10101004 quota,
10111005 used_size : 0 ,
10121006 time_index : BTreeSet :: new ( ) ,
1013- epoch_index : BTreeSet :: new ( ) ,
10141007 reverse_index : HashMap :: new ( ) ,
10151008 }
10161009 }
@@ -1028,12 +1021,11 @@ impl PerAuthorIndex {
10281021 }
10291022
10301023 pub fn remove ( & mut self , key : & CacheKey ) -> PrunedKeys {
1031- let Some ( ( unix_ts_ms, epoch , size) ) = self . reverse_index . remove ( key) else {
1024+ let Some ( ( unix_ts_ms, size) ) = self . reverse_index . remove ( key) else {
10321025 return PrunedKeys :: empty ( ) ;
10331026 } ;
10341027
10351028 self . time_index . remove ( & ( unix_ts_ms, key. clone ( ) ) ) ;
1036- self . epoch_index . remove ( & ( epoch, key. clone ( ) ) ) ;
10371029 self . used_size -= size;
10381030 PrunedKeys :: singleton ( key. clone ( ) , size)
10391031 }
@@ -1054,17 +1046,9 @@ impl PerAuthorIndex {
10541046 . collect ( )
10551047 }
10561048
1057- pub fn insert (
1058- & mut self ,
1059- cache_key : CacheKey ,
1060- unix_ts_ms : UnixTimestamp ,
1061- epoch : Epoch ,
1062- size : MessageSize ,
1063- ) {
1049+ pub fn insert ( & mut self , cache_key : CacheKey , unix_ts_ms : UnixTimestamp , size : MessageSize ) {
10641050 self . time_index . insert ( ( unix_ts_ms, cache_key. clone ( ) ) ) ;
1065- self . epoch_index . insert ( ( epoch, cache_key. clone ( ) ) ) ;
1066- self . reverse_index
1067- . insert ( cache_key, ( unix_ts_ms, epoch, size) ) ;
1051+ self . reverse_index . insert ( cache_key, ( unix_ts_ms, size) ) ;
10681052 self . used_size += size;
10691053 }
10701054
@@ -1079,9 +1063,6 @@ impl PerAuthorIndex {
10791063 if let Some ( threshold) = unix_ts_threshold {
10801064 evicted_keys. extend ( self . prune_by_time ( threshold) ) ;
10811065 }
1082- if let Some ( threshold) = epoch_threshold {
1083- evicted_keys. extend ( self . prune_by_epoch ( threshold) ) ;
1084- }
10851066 evicted_keys
10861067 }
10871068
@@ -1115,17 +1096,6 @@ impl PerAuthorIndex {
11151096 self . remove_many ( & to_prune_keys)
11161097 }
11171098
1118- fn prune_by_epoch ( & mut self , epoch_threshold : Epoch ) -> PrunedKeys {
1119- let mut to_prune_keys = vec ! [ ] ;
1120- for ( epoch, key) in & self . epoch_index {
1121- if * epoch >= epoch_threshold {
1122- break ;
1123- }
1124- to_prune_keys. push ( key. clone ( ) ) ;
1125- }
1126- self . remove_many ( & to_prune_keys)
1127- }
1128-
11291099 fn prune_by_slots ( & mut self , target_len : usize ) -> PrunedKeys {
11301100 let slots_to_free_up = self . len ( ) . saturating_sub ( target_len) ;
11311101 if slots_to_free_up == 0 {
@@ -1150,21 +1120,15 @@ impl PerAuthorIndex {
11501120 #[ cfg( test) ]
11511121 fn consistency_breaches ( & self , prefix : & str ) -> Vec < String > {
11521122 let mut breaches = vec ! [ ] ;
1153- if self . epoch_index . len ( ) != self . reverse_index . len ( ) {
1154- breaches. push ( format ! ( "{prefix}.epoch-index-size-mismatch" ) ) ;
1155- }
11561123 if self . time_index . len ( ) != self . reverse_index . len ( ) {
11571124 breaches. push ( format ! ( "{prefix}.time-index-size-mismatch" ) ) ;
11581125 }
11591126
11601127 let mut used_size = self . used_size ;
1161- for ( key, ( unix_ts, epoch , _size) ) in & self . reverse_index {
1128+ for ( key, ( unix_ts, _size) ) in & self . reverse_index {
11621129 if !self . time_index . contains ( & ( * unix_ts, key. clone ( ) ) ) {
11631130 breaches. push ( format ! ( "{prefix}.time-index-missing-key" ) ) ;
11641131 }
1165- if !self . epoch_index . contains ( & ( * epoch, key. clone ( ) ) ) {
1166- breaches. push ( format ! ( "{prefix}.epoch-index-missing-key" ) ) ;
1167- }
11681132 used_size -= * _size;
11691133 }
11701134
@@ -1655,7 +1619,7 @@ mod test {
16551619 // these fields are never touched in this module
16561620 recipient_hash : HexBytes ( [ 0 ; 20 ] ) ,
16571621 message : Bytes :: new ( ) ,
1658- epoch : EPOCH . 0 ,
1622+ group_id : EPOCH . 0 ,
16591623 unix_ts_ms,
16601624 secondary_broadcast : false ,
16611625 } ;
0 commit comments