@@ -675,22 +675,35 @@ impl RouteInfoManager {
675
675
Some ( group_member)
676
676
}
677
677
678
- pub ( crate ) fn wipe_write_perm_of_broker_by_lock ( & mut self , broker_name : & str ) -> i32 {
679
- self . operate_write_perm_of_broker ( broker_name, RequestCode :: WipeWritePermOfBroker )
678
+ #[ inline]
679
+ pub ( crate ) fn wipe_write_perm_of_broker_by_lock ( & self , broker_name : & CheetahString ) -> i32 {
680
+ let lock = self . lock . write ( ) ;
681
+ let cnt =
682
+ self . operate_write_perm_of_broker ( broker_name, RequestCode :: WipeWritePermOfBroker ) ;
683
+ drop ( lock) ;
684
+ cnt
680
685
}
681
686
682
- pub ( crate ) fn add_write_perm_of_broker_by_lock ( & mut self , broker_name : & str ) -> i32 {
683
- self . operate_write_perm_of_broker ( broker_name, RequestCode :: AddWritePermOfBroker )
687
+ #[ inline]
688
+ pub ( crate ) fn add_write_perm_of_broker_by_lock ( & self , broker_name : & CheetahString ) -> i32 {
689
+ let lock = self . lock . write ( ) ;
690
+ let cnt = self . operate_write_perm_of_broker ( broker_name, RequestCode :: AddWritePermOfBroker ) ;
691
+ drop ( lock) ;
692
+ cnt
684
693
}
685
694
686
695
fn operate_write_perm_of_broker (
687
- & mut self ,
688
- broker_name : & str ,
696
+ & self ,
697
+ broker_name : & CheetahString ,
689
698
request_code : RequestCode ,
690
699
) -> i32 {
691
700
let mut topic_cnt = 0 ;
692
- for ( _topic, qd_map) in self . topic_queue_table . iter_mut ( ) {
693
- let qd = qd_map. get_mut ( broker_name) . unwrap ( ) ;
701
+ for ( _topic, qd_map) in self . topic_queue_table . mut_from_ref ( ) . iter_mut ( ) {
702
+ let qd = qd_map. get_mut ( broker_name) ;
703
+ if qd. is_none ( ) {
704
+ continue ;
705
+ }
706
+ let qd = qd. unwrap ( ) ;
694
707
let mut perm = qd. perm ;
695
708
match request_code {
696
709
RequestCode :: WipeWritePermOfBroker => {
0 commit comments