@Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Plaintext plaintext = (Plaintext) o; return Objects.equals(encoding, plaintext.encoding) && Objects.equals(from, plaintext.from) && Arrays.equals(message, plaintext.message) && Objects.equals(getAckMessage(), plaintext.getAckMessage()) && Arrays.equals(to == null ? null : to.getRipe(), plaintext.to == null ? null : plaintext.to.getRipe()) && Arrays.equals(signature, plaintext.signature) && Objects.equals(status, plaintext.status) && Objects.equals(sent, plaintext.sent) && Objects.equals(received, plaintext.received) && Objects.equals(labels, plaintext.labels); }
public void doProofOfWorkWithAck(Plaintext plaintext, long expirationTime) { final ObjectMessage ack = plaintext.getAckMessage(); messageRepo.save(plaintext); Item item = new Item(ack, NETWORK_NONCE_TRIALS_PER_BYTE, NETWORK_EXTRA_BYTES, expirationTime, plaintext); powRepo.putObject(item); cryptography.doProofOfWork(ack, NETWORK_NONCE_TRIALS_PER_BYTE, NETWORK_EXTRA_BYTES, this); }
public void send(final Plaintext plaintext) { if (plaintext.getAckMessage() != null) { long expires = UnixTime.now(+plaintext.getTTL()); LOG.info("Expires at " + expires); proofOfWorkService.doProofOfWorkWithAck(plaintext, expires); } else { send(plaintext.getFrom(), plaintext.getTo(), new Msg(plaintext), plaintext.getTTL()); } }
out.write(message); if (type == Type.MSG) { if (to.has(Feature.DOES_ACK) && getAckMessage() != null) { ByteArrayOutputStream ack = new ByteArrayOutputStream(); getAckMessage().write(ack); Encode.varBytes(ack.toByteArray(), out); } else {
buffer.put(message); if (type == Type.MSG) { if (to.has(Feature.DOES_ACK) && getAckMessage() != null) { Encode.varBytes(Encode.bytes(getAckMessage()), buffer); } else { Encode.varInt(0, buffer);
protected void receive(InventoryVector iv, Plaintext msg) { msg.setInventoryVector(iv); labeler.setLabels(msg); ctx.getMessageRepository().save(msg); listener.receive(msg); updatePubkey(msg.getFrom(), msg.getFrom().getPubkey()); if (msg.getType() == Plaintext.Type.MSG && msg.getTo().has(Pubkey.Feature.DOES_ACK)) { ObjectMessage ack = msg.getAckMessage(); if (ack != null) { ctx.getInventory().storeObject(ack); ctx.getNetworkHandler().offer(ack.getInventoryVector()); } } } }
ctx.getNetworkHandler().offer(object.getInventoryVector()); } else { item.message.getAckMessage().setNonce(nonce); final ObjectMessage object = new ObjectMessage.Builder() .stream(item.message.getStream())