in mqtt-cs/src/main/java/org/apache/rocketmq/mqtt/cs/session/infly/PushAction.java [60:81]
public void messageArrive(Session session, Subscription subscription, Queue queue) {
if (session == null) {
return;
}
if (!connectConf.isOrder()) {
List<Message> list = session.pendMessageList(subscription, queue);
if (list != null && !list.isEmpty()) {
for (Message message : list) {
message.setAck(0);
push(message, subscription, session, queue);
}
}
return;
}
if (retryDriver.needRetryBefore(subscription, queue, session)) {
return;
}
Message message = session.nextSendMessageByOrder(subscription, queue);
if (message != null) {
push(message, subscription, session, queue);
}
}