@@ -54,61 +54,51 @@ use rocketmq_remoting::protocol::route::topic_route_data::TopicRouteData;
54
54
use rocketmq_remoting:: protocol:: DataVersion ;
55
55
use rocketmq_remoting:: protocol:: RemotingSerializable ;
56
56
use rocketmq_remoting:: runtime:: connection_handler_context:: ConnectionHandlerContext ;
57
- use tracing:: info;
58
57
use tracing:: warn;
59
58
60
59
use crate :: route:: route_info_manager:: RouteInfoManager ;
61
60
use crate :: KVConfigManager ;
62
61
63
- #[ derive( Clone ) ]
64
62
pub struct DefaultRequestProcessor {
65
63
route_info_manager : Arc < parking_lot:: RwLock < RouteInfoManager > > ,
66
64
kvconfig_manager : Arc < parking_lot:: RwLock < KVConfigManager > > ,
67
65
}
68
66
69
67
impl DefaultRequestProcessor {
70
68
pub fn process_request (
71
- & self ,
69
+ & mut self ,
72
70
channel : Channel ,
73
71
_ctx : ConnectionHandlerContext ,
72
+ request_code : RequestCode ,
74
73
request : RemotingCommand ,
75
74
) -> Option < RemotingCommand > {
76
- let code = request. code ( ) ;
77
- let broker_request_code = RequestCode :: value_of ( code) ;
78
- info ! (
79
- "Received request code:{}-{:?}" ,
80
- code,
81
- broker_request_code. as_ref( )
82
- ) ;
83
- let response = match broker_request_code {
84
- Some ( RequestCode :: PutKvConfig ) => self . put_kv_config ( request) ,
85
- Some ( RequestCode :: GetKvConfig ) => self . get_kv_config ( request) ,
86
- Some ( RequestCode :: DeleteKvConfig ) => self . delete_kv_config ( request) ,
87
- Some ( RequestCode :: QueryDataVersion ) => self . query_broker_topic_config ( request) ,
75
+ let response = match request_code {
76
+ RequestCode :: PutKvConfig => self . put_kv_config ( request) ,
77
+ RequestCode :: GetKvConfig => self . get_kv_config ( request) ,
78
+ RequestCode :: DeleteKvConfig => self . delete_kv_config ( request) ,
79
+ RequestCode :: QueryDataVersion => self . query_broker_topic_config ( request) ,
88
80
//handle register broker
89
- Some ( RequestCode :: RegisterBroker ) => {
81
+ RequestCode :: RegisterBroker => {
90
82
self . process_register_broker ( channel. remote_address ( ) , request)
91
83
}
92
- Some ( RequestCode :: UnregisterBroker ) => self . process_unregister_broker ( request) ,
93
- Some ( RequestCode :: BrokerHeartbeat ) => self . process_broker_heartbeat ( request) ,
94
- Some ( RequestCode :: GetBrokerMemberGroup ) => self . get_broker_member_group ( request) ,
84
+ RequestCode :: UnregisterBroker => self . process_unregister_broker ( request) ,
85
+ RequestCode :: BrokerHeartbeat => self . process_broker_heartbeat ( request) ,
86
+ RequestCode :: GetBrokerMemberGroup => self . get_broker_member_group ( request) ,
95
87
//handle get broker cluster info
96
- Some ( RequestCode :: GetBrokerClusterInfo ) => self . get_broker_cluster_info ( request) ,
97
- Some ( RequestCode :: WipeWritePermOfBroker ) => self . wipe_write_perm_of_broker ( request) ,
98
- Some ( RequestCode :: AddWritePermOfBroker ) => self . add_write_perm_of_broker ( request) ,
99
- Some ( RequestCode :: GetAllTopicListFromNameserver ) => {
88
+ RequestCode :: GetBrokerClusterInfo => self . get_broker_cluster_info ( request) ,
89
+ RequestCode :: WipeWritePermOfBroker => self . wipe_write_perm_of_broker ( request) ,
90
+ RequestCode :: AddWritePermOfBroker => self . add_write_perm_of_broker ( request) ,
91
+ RequestCode :: GetAllTopicListFromNameserver => {
100
92
self . get_all_topic_list_from_nameserver ( request)
101
93
}
102
- Some ( RequestCode :: DeleteTopicInNamesrv ) => self . delete_topic_in_name_srv ( request) ,
103
- Some ( RequestCode :: RegisterTopicInNamesrv ) => self . register_topic_to_name_srv ( request) ,
104
- Some ( RequestCode :: GetKvlistByNamespace ) => self . get_kv_list_by_namespace ( request) ,
105
- Some ( RequestCode :: GetTopicsByCluster ) => self . get_topics_by_cluster ( request) ,
106
- Some ( RequestCode :: GetSystemTopicListFromNs ) => {
107
- self . get_system_topic_list_from_ns ( request)
108
- }
109
- Some ( RequestCode :: GetUnitTopicList ) => self . get_unit_topic_list ( request) ,
110
- Some ( RequestCode :: GetHasUnitSubTopicList ) => self . get_has_unit_sub_topic_list ( request) ,
111
- Some ( RequestCode :: GetHasUnitSubUnunitTopicList ) => {
94
+ RequestCode :: DeleteTopicInNamesrv => self . delete_topic_in_name_srv ( request) ,
95
+ RequestCode :: RegisterTopicInNamesrv => self . register_topic_to_name_srv ( request) ,
96
+ RequestCode :: GetKvlistByNamespace => self . get_kv_list_by_namespace ( request) ,
97
+ RequestCode :: GetTopicsByCluster => self . get_topics_by_cluster ( request) ,
98
+ RequestCode :: GetSystemTopicListFromNs => self . get_system_topic_list_from_ns ( request) ,
99
+ RequestCode :: GetUnitTopicList => self . get_unit_topic_list ( request) ,
100
+ RequestCode :: GetHasUnitSubTopicList => self . get_has_unit_sub_topic_list ( request) ,
101
+ RequestCode :: GetHasUnitSubUnunitTopicList => {
112
102
self . get_has_unit_sub_un_unit_topic_list ( request)
113
103
}
114
104
_ => RemotingCommand :: create_response_command_with_code (
0 commit comments