Skip to content

Commit 81b4b61

Browse files
authored
[ISSUE #44]Optimize request code get logic (#47)
1 parent ab99d22 commit 81b4b61

File tree

2 files changed

+149
-5
lines changed

2 files changed

+149
-5
lines changed

rocketmq-namesrv/src/processor/default_request_processor.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ use rocketmq_common::{
2323
CRC32Utils,
2424
};
2525
use rocketmq_remoting::{
26-
code::{broker_request_code::BrokerRequestCode, response_code::RemotingSysResponseCode},
26+
code::{request_code::RequestCode, response_code::RemotingSysResponseCode},
2727
protocol::{
2828
body::{
2929
broker_body::register_broker_body::RegisterBrokerBody,
@@ -47,13 +47,13 @@ pub struct DefaultRequestProcessor {
4747
impl RequestProcessor for DefaultRequestProcessor {
4848
fn process_request(&mut self, request: RemotingCommand) -> RemotingCommand {
4949
let code = request.code();
50-
let broker_request_code = BrokerRequestCode::value_of(code);
50+
let broker_request_code = RequestCode::value_of(code);
5151
match broker_request_code {
5252
//handle register broker
53-
Some(BrokerRequestCode::RegisterBroker) => self.process_register_broker(request),
54-
Some(BrokerRequestCode::BrokerHeartbeat) => self.process_broker_heartbeat(request),
53+
Some(RequestCode::RegisterBroker) => self.process_register_broker(request),
54+
Some(RequestCode::BrokerHeartbeat) => self.process_broker_heartbeat(request),
5555
//handle get broker cluster info
56-
Some(BrokerRequestCode::GetBrokerClusterInfo) => {
56+
Some(RequestCode::GetBrokerClusterInfo) => {
5757
self.process_get_broker_cluster_info(request)
5858
}
5959
_ => RemotingCommand::create_response_command_with_code(

rocketmq-remoting/src/code/request_code.rs

+144
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ pub enum RequestCode {
6565
PutKvConfig = 100,
6666
GetKvConfig = 101,
6767
DeleteKvConfig = 102,
68+
RegisterBroker = 103,
6869
UnregisterBroker = 104,
6970
GetRouteinfoByTopic = 105,
7071
GetBrokerClusterInfo = 106,
@@ -133,6 +134,7 @@ pub enum RequestCode {
133134
GetBrokerMemberGroup = 901,
134135
AddBroker = 902,
135136
RemoveBroker = 903,
137+
BrokerHeartbeat = 904,
136138
NotifyMinBrokerIdChange = 905,
137139
ExchangeBrokerHaInfo = 906,
138140
GetBrokerHaStatus = 907,
@@ -144,6 +146,7 @@ pub enum RequestCode {
144146
RemoveColdDataFlowCtrConfig = 2002,
145147
GetColdDataFlowCtrInfo = 2003,
146148
SetCommitlogReadMode = 2004,
149+
Unknown = -9999999,
147150
}
148151

149152
impl From<RequestCode> for i32 {
@@ -152,10 +155,151 @@ impl From<RequestCode> for i32 {
152155
}
153156
}
154157

158+
impl From<i32> for RequestCode {
159+
fn from(value: i32) -> Self {
160+
match value {
161+
10 => RequestCode::SendMessage,
162+
11 => RequestCode::PullMessage,
163+
12 => RequestCode::QueryMessage,
164+
13 => RequestCode::QueryBrokerOffset,
165+
14 => RequestCode::QueryConsumerOffset,
166+
15 => RequestCode::UpdateConsumerOffset,
167+
17 => RequestCode::UpdateAndCreateTopic,
168+
21 => RequestCode::GetAllTopicConfig,
169+
22 => RequestCode::GetTopicConfigList,
170+
23 => RequestCode::GetTopicNameList,
171+
25 => RequestCode::UpdateBrokerConfig,
172+
26 => RequestCode::GetBrokerConfig,
173+
27 => RequestCode::TriggerDeleteFiles,
174+
28 => RequestCode::GetBrokerRuntimeInfo,
175+
29 => RequestCode::SearchOffsetByTimestamp,
176+
30 => RequestCode::GetMaxOffset,
177+
31 => RequestCode::GetMinOffset,
178+
32 => RequestCode::GetEarliestMsgStoreTime,
179+
33 => RequestCode::ViewMessageById,
180+
34 => RequestCode::HeartBeat,
181+
35 => RequestCode::UnregisterClient,
182+
36 => RequestCode::ConsumerSendMsgBack,
183+
37 => RequestCode::EndTransaction,
184+
38 => RequestCode::GetConsumerListByGroup,
185+
39 => RequestCode::CheckTransactionState,
186+
40 => RequestCode::NotifyConsumerIdsChanged,
187+
41 => RequestCode::LockBatchMq,
188+
42 => RequestCode::UnlockBatchMq,
189+
43 => RequestCode::GetAllConsumerOffset,
190+
45 => RequestCode::GetAllDelayOffset,
191+
46 => RequestCode::CheckClientConfig,
192+
47 => RequestCode::GetClientConfig,
193+
50 => RequestCode::UpdateAndCreateAclConfig,
194+
51 => RequestCode::DeleteAclConfig,
195+
52 => RequestCode::GetBrokerClusterAclInfo,
196+
53 => RequestCode::UpdateGlobalWhiteAddrsConfig,
197+
54 => RequestCode::GetBrokerClusterAclConfig,
198+
60 => RequestCode::GetTimerCheckPoint,
199+
61 => RequestCode::GetTimerMetrics,
200+
200050 => RequestCode::PopMessage,
201+
200051 => RequestCode::AckMessage,
202+
200151 => RequestCode::BatchAckMessage,
203+
200052 => RequestCode::PeekMessage,
204+
200053 => RequestCode::ChangeMessageInvisibleTime,
205+
200054 => RequestCode::Notification,
206+
200055 => RequestCode::PollingInfo,
207+
100 => RequestCode::PutKvConfig,
208+
101 => RequestCode::GetKvConfig,
209+
102 => RequestCode::DeleteKvConfig,
210+
103 => RequestCode::RegisterBroker,
211+
104 => RequestCode::UnregisterBroker,
212+
105 => RequestCode::GetRouteinfoByTopic,
213+
106 => RequestCode::GetBrokerClusterInfo,
214+
200 => RequestCode::UpdateAndCreateSubscriptionGroup,
215+
201 => RequestCode::GetAllSubscriptionGroupConfig,
216+
202 => RequestCode::GetTopicStatsInfo,
217+
203 => RequestCode::GetConsumerConnectionList,
218+
204 => RequestCode::GetProducerConnectionList,
219+
205 => RequestCode::WipeWritePermOfBroker,
220+
206 => RequestCode::GetAllTopicListFromNameserver,
221+
207 => RequestCode::DeleteSubscriptionGroup,
222+
208 => RequestCode::GetConsumeStats,
223+
209 => RequestCode::SuspendConsumer,
224+
210 => RequestCode::ResumeConsumer,
225+
211 => RequestCode::ResetConsumerOffsetInConsumer,
226+
212 => RequestCode::ResetConsumerOffsetInBroker,
227+
213 => RequestCode::AdjustConsumerThreadPool,
228+
214 => RequestCode::WhoConsumeTheMessage,
229+
215 => RequestCode::DeleteTopicInBroker,
230+
216 => RequestCode::DeleteTopicInNamesrv,
231+
217 => RequestCode::RegisterTopicInNamesrv,
232+
219 => RequestCode::GetKvlistByNamespace,
233+
220 => RequestCode::ResetConsumerClientOffset,
234+
221 => RequestCode::GetConsumerStatusFromClient,
235+
222 => RequestCode::InvokeBrokerToResetOffset,
236+
223 => RequestCode::InvokeBrokerToGetConsumerStatus,
237+
300 => RequestCode::QueryTopicConsumeByWho,
238+
224 => RequestCode::GetTopicsByCluster,
239+
343 => RequestCode::QueryTopicsByConsumer,
240+
345 => RequestCode::QuerySubscriptionByConsumer,
241+
301 => RequestCode::RegisterFilterServer,
242+
302 => RequestCode::RegisterMessageFilterClass,
243+
303 => RequestCode::QueryConsumeTimeSpan,
244+
304 => RequestCode::GetSystemTopicListFromNs,
245+
305 => RequestCode::GetSystemTopicListFromBroker,
246+
306 => RequestCode::CleanExpiredConsumequeue,
247+
307 => RequestCode::GetConsumerRunningInfo,
248+
308 => RequestCode::QueryCorrectionOffset,
249+
309 => RequestCode::ConsumeMessageDirectly,
250+
310 => RequestCode::SendMessageV2,
251+
311 => RequestCode::GetUnitTopicList,
252+
312 => RequestCode::GetHasUnitSubTopicList,
253+
313 => RequestCode::GetHasUnitSubUnunitTopicList,
254+
314 => RequestCode::CloneGroupOffset,
255+
315 => RequestCode::ViewBrokerStatsData,
256+
316 => RequestCode::CleanUnusedTopic,
257+
317 => RequestCode::GetBrokerConsumeStats,
258+
318 => RequestCode::UpdateNamesrvConfig,
259+
319 => RequestCode::GetNamesrvConfig,
260+
320 => RequestCode::SendBatchMessage,
261+
321 => RequestCode::QueryConsumeQueue,
262+
322 => RequestCode::QueryDataVersion,
263+
323 => RequestCode::ResumeCheckHalfMessage,
264+
324 => RequestCode::SendReplyMessage,
265+
325 => RequestCode::SendReplyMessageV2,
266+
326 => RequestCode::PushReplyMessageToClient,
267+
327 => RequestCode::AddWritePermOfBroker,
268+
351 => RequestCode::GetTopicConfig,
269+
352 => RequestCode::GetSubscriptionGroupConfig,
270+
353 => RequestCode::UpdateAndGetGroupForbidden,
271+
361 => RequestCode::LitePullMessage,
272+
400 => RequestCode::QueryAssignment,
273+
401 => RequestCode::SetMessageRequestMode,
274+
402 => RequestCode::GetAllMessageRequestMode,
275+
513 => RequestCode::UpdateAndCreateStaticTopic,
276+
901 => RequestCode::GetBrokerMemberGroup,
277+
902 => RequestCode::AddBroker,
278+
903 => RequestCode::RemoveBroker,
279+
904 => RequestCode::BrokerHeartbeat,
280+
905 => RequestCode::NotifyMinBrokerIdChange,
281+
906 => RequestCode::ExchangeBrokerHaInfo,
282+
907 => RequestCode::GetBrokerHaStatus,
283+
908 => RequestCode::ResetMasterFlushOffset,
284+
328 => RequestCode::GetAllProducerInfo,
285+
329 => RequestCode::DeleteExpiredCommitlog,
286+
2001 => RequestCode::UpdateColdDataFlowCtrConfig,
287+
2002 => RequestCode::RemoveColdDataFlowCtrConfig,
288+
2003 => RequestCode::GetColdDataFlowCtrInfo,
289+
2004 => RequestCode::SetCommitlogReadMode,
290+
_ => RequestCode::Unknown,
291+
}
292+
}
293+
}
294+
155295
impl RequestCode {
156296
pub fn to_i32(self) -> i32 {
157297
self.into()
158298
}
299+
300+
pub fn value_of(code: i32) -> Option<Self> {
301+
Some(code.into())
302+
}
159303
}
160304

161305
#[derive(Debug, PartialEq, Clone, Copy)]

0 commit comments

Comments
 (0)