mpush-client-java
mpush-client-java copied to clipboard
类UPushClient是不是有bug
-
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); } -
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; }