Skip to content

类UPushClient是不是有bug #8

@csoftware

Description

@csoftware
  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;
       }
    

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions