New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[RIP-11]add SessionManager and WillMessageService; finish CONNECT/DISCONNECT logic #755
Conversation
|
||
this.sendMessageExecutor = ThreadUtils.newThreadPoolExecutor( | ||
snodeConfig.getSnodeSendMessageMinPoolSize(), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@xiangwangcheng it seems that you modified some codes that has nothing to do with this function, and just modified the code format, which will make the code review a little difficult. Could you download a rocketmq code style from our website: https://rocketmq.apache.org/docs/code-guidelines/?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@duhenglucky OK. I will apply the rmq code style.
|
||
import java.util.Objects; | ||
|
||
public class Session { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It seems that we can use org.apache.rocketmq.snode.client.Client instead.
import org.apache.rocketmq.logging.InternalLoggerFactory; | ||
import org.apache.rocketmq.snode.SnodeController; | ||
|
||
public class SessionManagerImpl { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you achieve this by implementing the ClientManagerImpl class?
if (message2MessageEncodeDecode != null) { | ||
mqttMessage = message2MessageEncodeDecode.encode(msg); | ||
} | ||
out.add(mqttMessage); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here,if the return value of message2MessageEncodeDecode is null,then the out object list will be add into a null value.You may add some judgement logic here.
mqttHeader.setSessionPresent(variableHeader.isSessionPresent()); | ||
|
||
requestCommand = RemotingCommand | ||
.createRequestCommand(1000, mqttHeader); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The 1000 request code could be added into RequestCode.And here,you can using the RequestCode value.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can't do that because RequestCode.java is in Common module and Remoting module does not dependent on Common module.
mqttHeader.setMessageId(variableHeader.messageId()); | ||
|
||
requestCommand = RemotingCommand | ||
.createRequestCommand(1000, mqttHeader); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here,it's also as the same as before.
mqttHeader.setMessageId(variableHeader.messageId()); | ||
|
||
requestCommand = RemotingCommand | ||
.createRequestCommand(1000, mqttHeader); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here,it's also as the same as before.
c722a44
to
3c95e3c
Compare
…de between MqttMessage and RemotingCommand 3.add topic<--->subscription data 4.add subscribe and suback logic
3c95e3c
to
2f46644
Compare
What is the purpose of the change
Mqtt protocol support
Brief changelog
Verifying this change
XXXX
Follow this checklist to help us incorporate your contribution quickly and easily. Notice,
it would be helpful if you could finish the following 5 checklist(the last one is not necessary)before request the community to review your PR
.[ISSUE #123] Fix UnknownException when host config not exist
. Each commit in the pull request should have a meaningful subject line and body.mvn -B clean apache-rat:check findbugs:findbugs checkstyle:checkstyle
to make sure basic checks pass. Runmvn clean install -DskipITs
to make sure unit-test pass. Runmvn clean test-compile failsafe:integration-test
to make sure integration-test pass.