@Override public boolean equals(Object object) { if (object == this) return true; if ((object == null) || !(object instanceof Payload)) return false; Payload p = (Payload) object; return Arrays.equals(_unencryptedData, p.getUnencryptedData()) && Arrays.equals(_encryptedData, p.getEncryptedData()); }
private static int getByte(MessagePayloadMessage msg, int i) { return msg.getPayload().getUnencryptedData()[i] & 0xff; }
/** * Pull the unencrypted data from the message that we've already prefetched and * notified the user that its available. * */ public byte[] receiveMessage(int msgId) throws I2PSessionException { MessagePayloadMessage msg = _availableMessages.remove(Long.valueOf(msgId)); if (msg == null) { _log.error("Receive message " + msgId + " had no matches"); return null; } updateActivity(); return msg.getPayload().getUnencryptedData(); }
/** * Recieve a payload message and let the app know its available */ public void addNewMessage(MessagePayloadMessage msg) { Long mid = Long.valueOf(msg.getMessageId()); _availableMessages.put(mid, msg); long id = msg.getMessageId(); byte data[] = msg.getPayload().getUnencryptedData(); if ((data == null) || (data.length <= 0)) { if (_log.shouldLog(Log.CRIT)) _log.log(Log.CRIT, getPrefix() + "addNewMessage of a message with no unencrypted data", new Exception("Empty message")); } else { int size = data.length; _availabilityNotifier.available(id, size); if (_log.shouldLog(Log.INFO)) _log.info(getPrefix() + "Notified availability for session " + _sessionId + ", message " + id); } }
/** * Receive a payload message and let the app know its available */ @Override public void addNewMessage(MessagePayloadMessage msg) { Long mid = Long.valueOf(msg.getMessageId()); _availableMessages.put(mid, msg); long id = msg.getMessageId(); byte data[] = msg.getPayload().getUnencryptedData(); if ((data == null) || (data.length <= 0)) { if (_log.shouldLog(Log.CRIT)) _log.log(Log.CRIT, getPrefix() + "addNewMessage of a message with no unencrypted data", new Exception("Empty message")); return; } int size = data.length; if (size < 10) { _log.error(getPrefix() + "length too short for gzip header: " + size); return; } ((MuxedAvailabilityNotifier)_availabilityNotifier).available(id, size, getProto(msg), getFromPort(msg), getToPort(msg)); }