System.out.println(String.format("Message " + msgNum + " was received by the server: remote state=%s", delivery.getRemoteState())); });
/** * Send the AMQP_SUBSCRIBE message to the Subscription Service * * @param amqpSubscribeMessage AMQP_SUBSCRIBE message * @param handler callback called on message delivered */ public void sendSubscribe(AmqpSubscribeMessage amqpSubscribeMessage, Handler<AsyncResult<ProtonDelivery>> handler) { // send AMQP_SUBSCRIBE message this.sender.send(amqpSubscribeMessage.toAmqp(), delivery -> { if ((delivery.getRemoteState() == Accepted.getInstance()) || (delivery.getRemoteState() instanceof Rejected)) { LOG.info("AMQP subscribe delivery {}", delivery.getRemoteState()); handler.handle(Future.succeededFuture(delivery)); } else { handler.handle(Future.failedFuture(String.format("AMQP subscribe delivery %s", delivery.getRemoteState()))); } }); }
/** * Send the AMQP_UNSUBSCRIBE message to the Subscription Service * * @param amqpUnsubscribeMessage AMQP_UNSUBSCRIBE message * @param handler callback called on message delivered */ public void sendUnsubscribe(AmqpUnsubscribeMessage amqpUnsubscribeMessage, Handler<AsyncResult<ProtonDelivery>> handler) { // send AMQP_UNSUBSCRIBE message this.sender.send(amqpUnsubscribeMessage.toAmqp(), delivery -> { if (delivery.getRemoteState() == Accepted.getInstance()) { LOG.info("AMQP unsubscribe delivery {}", delivery.getRemoteState()); handler.handle(Future.succeededFuture(delivery)); } else { handler.handle(Future.failedFuture(String.format("AMQP unsubscribe delivery %s", delivery.getRemoteState()))); } }); }
/** * Send the AMQP_WILL message to the Last Will and Testament Service * * @param amqpWillMessage AMQP_WILL message * @param handler callback called on message delivered */ public void sendWill(AmqpWillMessage amqpWillMessage, Handler<AsyncResult<ProtonDelivery>> handler) { // send AMQP_WILL message with will information this.sender.send(amqpWillMessage.toAmqp(), delivery -> { if (delivery.getRemoteState() == Accepted.getInstance()) { LOG.info("AMQP will delivery {}", delivery.getRemoteState()); handler.handle(Future.succeededFuture(delivery)); } else { handler.handle(Future.failedFuture(String.format("AMQP will delivery %s", delivery.getRemoteState()))); } }); }
/** * Send the AMQP_CLOSE message to the Subscription Service * * @param amqpCloseMessage AMQP_CLOSE message * @param handler callback called on message delivered */ public void sendClose(AmqpCloseMessage amqpCloseMessage, Handler<AsyncResult<ProtonDelivery>> handler) { // send AMQP_CLOSE message this.sender.send(amqpCloseMessage.toAmqp(), delivery -> { if (delivery.getRemoteState() == Accepted.getInstance()) { LOG.info("AMQP close delivery {}", delivery.getRemoteState()); handler.handle(Future.succeededFuture(delivery)); } else { handler.handle(Future.failedFuture(String.format("AMQP close delivery %s", delivery.getRemoteState()))); } }); }
/** * Send the AMQP_LIST message to the Subscription Service * * @param amqpSessionMessage AMQP_LIST message * @param handler callback called on message delivered */ public void sendList(AmqpListMessage amqpSessionMessage, Handler<AsyncResult<ProtonDelivery>> handler) { // send AMQP_LIST message this.sender.send(amqpSessionMessage.toAmqp(), delivery -> { if (delivery.getRemoteState() == Accepted.getInstance()) { LOG.info("AMQP list delivery {}", delivery.getRemoteState()); handler.handle(Future.succeededFuture(delivery)); } else { handler.handle(Future.failedFuture(String.format("AMQP list delivery %s", delivery.getRemoteState()))); } }); }
/** * Updates this context's delivery state and settlement using the specified delivery. * * @param newDelivery The new delivery use to update this context's delivery. * * @return The new proton delivery. */ ProtonDelivery updateDelivery(final ProtonDelivery newDelivery) { return delivery.disposition(newDelivery.getRemoteState(), newDelivery.remotelySettled()); }
/** * Send the AMQP_PUBREL to the related client pubrel address * * @param amqpPubrelMessage AMQP_PUBREL message */ public void publish(AmqpPubrelMessage amqpPubrelMessage, Handler<AsyncResult<ProtonDelivery>> handler) { // send AMQP_PUBREL message if (!this.senderPubrel.isOpen()) { this.senderPubrel .setQoS(ProtonQoS.AT_LEAST_ONCE) .open(); // TODO: think about starting a timer for inactivity on this link for detaching ? } this.senderPubrel.send(amqpPubrelMessage.toAmqp(), delivery -> { if (delivery.getRemoteState() == Accepted.getInstance()) { LOG.info("AMQP pubrel delivery {}", delivery.getRemoteState()); handler.handle(Future.succeededFuture(delivery)); } else { handler.handle(Future.failedFuture(String.format("AMQP pubrel delivery %s", delivery.getRemoteState()))); } }); }
private void sendMessage(final Message msg) { ByteBuffer b = ByteBuffer.allocate(4); b.putInt(count.getAndIncrement()); b.flip(); LOG.trace("sending message [id: {}] to peer", msg.getMessageId()); if (ProtonQoS.AT_MOST_ONCE.equals(sender.getQoS())) { sender.send(b.array(), msg); sentHandler.handle(null); } else { sender.send(b.array(), msg, res -> { if (Accepted.class.isInstance(res.getRemoteState())) { LOG.trace("message [id: {}, remotelySettled: {}] has been accepted by peer", msg.getMessageId(), res.remotelySettled()); res.settle(); if (sentHandler != null) { sentHandler.handle(null); } } else { LOG.warn("message [id: {}] has not been accepted by peer: {}", msg.getMessageId(), res.getRemoteState()); } }); } } }
if (protonDelivery.getRemoteState().equals(Accepted.getInstance())) { numSent.incrementAndGet(); if (predicate.test(message)) { resultPromise.completeExceptionally(new IllegalStateException("Message not accepted (remote state: " + protonDelivery.getRemoteState() + ") after " + numSent.get() + " messages sent")); connectPromise.completeExceptionally(new IllegalStateException("Message not accepted (remote state: " + protonDelivery.getRemoteState() + ") after " + numSent.get() + " messages sent")); connection.close();
protected void forwardMessage(final ProtonSender sender, final Message msg, final ProtonDelivery delivery) { sender.send(msg, updatedDelivery -> delivery.disposition(updatedDelivery.getRemoteState(), updatedDelivery.remotelySettled())); }
if (delivery.getRemoteState() == Accepted.getInstance()) { LOG.info("AMQP publish delivery {}", delivery.getRemoteState()); handler.handle(Future.succeededFuture(delivery)); } else { handler.handle(Future.failedFuture(String.format("AMQP publish delivery %s", delivery.getRemoteState())));
if (delivery.getRemoteState() == Accepted.getInstance()) { LOG.info("AMQP publish delivery {}", delivery.getRemoteState()); handler.handle(Future.succeededFuture(delivery)); } else { handler.handle(Future.failedFuture(String.format("AMQP publish delivery %s", delivery.getRemoteState()))); if (delivery.getRemoteState() == Accepted.getInstance()) { LOG.info("AMQP publish delivery {}", delivery.getRemoteState()); handler.handle(Future.failedFuture(String.format("AMQP publish delivery %s", delivery.getRemoteState())));
final ProtonDelivery delivery = messageSent.join(); pw.println("\n" + delivery.getRemoteState() + "\n"); pw.flush(); } catch (CompletionException e) {
if (delivery.getRemoteState() == Accepted.getInstance()) {
private void forwardMessage(ProtonSender protonSender, ProtonReceiver protonReceiver, ProtonDelivery sourceDelivery, Message message) { MessageAnnotations annotations = message.getMessageAnnotations(); if (annotations == null) { annotations = new MessageAnnotations(Collections.singletonMap(replicated, true)); } else { annotations.getValue().put(replicated, true); } message.setMessageAnnotations(annotations); protonSender.send(message, protonDelivery -> { sourceDelivery.disposition(protonDelivery.getRemoteState(), protonDelivery.remotelySettled()); protonReceiver.flow(protonSender.getCredit() - protonReceiver.getCredit()); }); }
this.offsetTracker.delivered(partition, offset); log.debug("Message tag {} delivered {} to {}", tag, delivery.getRemoteState(), this.sender.getSource().getAddress()); });
sender.send(protonMsg, delivery -> { LOG.trace("Running onUpdated for sent message " + msgNum); context.assertNotNull(delivery.getRemoteState(), "message " + msgNum + " had no remote state"); context.assertTrue(delivery.getRemoteState() instanceof Accepted, "message " + msgNum + " was not accepted"); context.assertTrue(delivery.remotelySettled(), "message " + msgNum + " was not settled");
context.assertNotNull(delivery.getRemoteState(), "message had no remote state"); context.assertTrue(delivery.getRemoteState() instanceof Accepted, "message was not accepted"); context.assertTrue(delivery.remotelySettled(), "message was not settled");
context.assertNotNull(delivery.getRemoteState(), "message had no remote state"); context.assertTrue(delivery.getRemoteState() instanceof Accepted, "message was not accepted"); context.assertTrue(delivery.remotelySettled(), "message was not settled");