public DelayedReply messageArrived(CellMessage envelope, PoolMgrGetUpdatedHandler message) { SerializablePoolManagerHandler handler = this.handler; UpdateRequest request = new UpdateRequest(envelope, message); requests.add(request); if (message.getVersion().equals(handler.getVersion())) { delays.put(request); UpdateRequest expired; while ((expired = delays.poll()) != null) { requests.remove(expired); } } else if (requests.remove(request)) { request.send(handler); } return request; }
public void send(SerializablePoolManagerHandler handler) { message.setHandler(handler); reply(message); }