You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by li...@apache.org on 2018/06/22 09:11:27 UTC
[rocketmq] 07/08: #325 refactor method
This is an automated email from the ASF dual-hosted git repository.
lizhanhui pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/rocketmq.git
commit c0138f4ce75516a6166a1b2cbc7672482de4c6df
Author: 傅冲 <yu...@alibaba-inc.com>
AuthorDate: Fri Jun 22 01:02:46 2018 +0800
#325 refactor method
---
.../namesrv/processor/DefaultRequestProcessor.java | 40 ++++++++++++----------
1 file changed, 21 insertions(+), 19 deletions(-)
diff --git a/namesrv/src/main/java/org/apache/rocketmq/namesrv/processor/DefaultRequestProcessor.java b/namesrv/src/main/java/org/apache/rocketmq/namesrv/processor/DefaultRequestProcessor.java
index cd63c16..7641c13 100644
--- a/namesrv/src/main/java/org/apache/rocketmq/namesrv/processor/DefaultRequestProcessor.java
+++ b/namesrv/src/main/java/org/apache/rocketmq/namesrv/processor/DefaultRequestProcessor.java
@@ -197,16 +197,10 @@ public class DefaultRequestProcessor implements NettyRequestProcessor {
final RegisterBrokerRequestHeader requestHeader =
(RegisterBrokerRequestHeader) request.decodeCommandCustomHeader(RegisterBrokerRequestHeader.class);
- if (requestHeader.getBodyCrc32() != 0) {
- final int crc32 = UtilAll.crc32(request.getBody());
- if (crc32 != requestHeader.getBodyCrc32()) {
- log.warn(String.format("receive registerBroker request,crc32 not match,from %s",
- RemotingHelper.parseChannelRemoteAddr(ctx.channel())));
- response.setCode(ResponseCode.SYSTEM_ERROR);
- response.setRemark("crc32 not match");
- return response;
-
- }
+ if (!checksum(ctx, request, requestHeader)){
+ response.setCode(ResponseCode.SYSTEM_ERROR);
+ response.setRemark("crc32 not match");
+ return response;
}
RegisterBrokerBody registerBrokerBody = new RegisterBrokerBody();
@@ -243,6 +237,19 @@ public class DefaultRequestProcessor implements NettyRequestProcessor {
return response;
}
+ private boolean checksum(ChannelHandlerContext ctx, RemotingCommand request,
+ RegisterBrokerRequestHeader requestHeader) {
+ if (requestHeader.getBodyCrc32() != 0) {
+ final int crc32 = UtilAll.crc32(request.getBody());
+ if (crc32 != requestHeader.getBodyCrc32()) {
+ log.warn(String.format("receive registerBroker request,crc32 not match,from %s",
+ RemotingHelper.parseChannelRemoteAddr(ctx.channel())));
+ return false;
+ }
+ }
+ return true;
+ }
+
public RemotingCommand queryBrokerTopicConfig(ChannelHandlerContext ctx,
RemotingCommand request) throws RemotingCommandException {
final RemotingCommand response = RemotingCommand.createResponseCommand(QueryDataVersionResponseHeader.class);
@@ -274,15 +281,10 @@ public class DefaultRequestProcessor implements NettyRequestProcessor {
final RegisterBrokerRequestHeader requestHeader =
(RegisterBrokerRequestHeader) request.decodeCommandCustomHeader(RegisterBrokerRequestHeader.class);
- if (requestHeader.getBodyCrc32() != 0) {
- final int crc32 = UtilAll.crc32(request.getBody());
- if (crc32 != requestHeader.getBodyCrc32()) {
- log.warn(String.format("receive registerBroker request,crc32 not match,from %s",
- RemotingHelper.parseChannelRemoteAddr(ctx.channel())));
- response.setCode(ResponseCode.SYSTEM_ERROR);
- response.setRemark("crc32 not match");
- return response;
- }
+ if (!checksum(ctx, request, requestHeader)) {
+ response.setCode(ResponseCode.SYSTEM_ERROR);
+ response.setRemark("crc32 not match");
+ return response;
}
TopicConfigSerializeWrapper topicConfigWrapper;