mpush-client-java icon indicating copy to clipboard operation
mpush-client-java copied to clipboard

类UPushClient是不是有bug

Open csoftware opened this issue 4 years ago • 0 comments

  1. bug之处

       @Override
       public Future<Boolean> push(PushContext context) {
           if (!connection.getSessionContext().handshakeOk()) {
               logger.warn("connection is not handshake ok!");
               return null;
           }
           PushMessage message = new PushMessage(context.getContext(), connection);
           message.addFlag(context.ackModel.flag);
           message.send();
           logger.debug("<<< send push,Packet=%s, message=%s",message.getPacket(), message);
           return ackRequestMgr.add(message.getSessionId(), context);
       }
    
  2. bug修复,调式发现服务端的ack返回早于message.send()

       @Override
       public Future<Boolean> push(PushContext context) {
           if (!connection.getSessionContext().handshakeOk()) {
               logger.warn("connection is not handshake ok!");
               return null;
           }
           PushMessage message = new PushMessage(context.getContext(), connection);
           message.addFlag(context.ackModel.flag);
           Future<Boolean> task = ackRequestMgr.add(message.getSessionId(), context);
           message.send();
           logger.debug("<<< send push,Packet=%s, message=%s",message.getPacket(), message);
           return task;
       }
    

csoftware avatar Jun 17 '21 12:06 csoftware