if(!sender.sendQueueFull()) { final int msgNum = sent.incrementAndGet(); Message message = message("Hello " + msgNum);
vertx.cancelTimer(t); } else { if(!sender.sendQueueFull()) { int msgNum = sent.incrementAndGet(); System.out.println("Sending message " + msgNum + " to client, for address: " + remoteSource.getAddress());
@Override public boolean writeQueueFull() { return sender.sendQueueFull(); }
@Override @Deprecated public final boolean sendQueueFull() { return sender.sendQueueFull(); }
/** * Pause the consumer if there's no send credit on the sender. */ private void flowCheck() { if (this.sender.sendQueueFull()) { this.pause(); this.sender.sendQueueDrainHandler(done -> { this.resume(); }); } }
@Override @Deprecated public final Future<ProtonDelivery> send(final Message rawMessage, final Handler<Void> capacityAvailableHandler) { Objects.requireNonNull(rawMessage); return executeOrRunOnContext(result -> { if (capacityAvailableHandler == null) { final Span currentSpan = startSpan(rawMessage); sendMessage(rawMessage, currentSpan).setHandler(result.completer()); } else if (this.drainHandler != null) { result.fail(new ServerErrorException(HttpURLConnection.HTTP_UNAVAILABLE, "cannot send message while waiting for replenishment with credit")); } else if (sender.isOpen()) { final Span currentSpan = startSpan(rawMessage); sendMessage(rawMessage, currentSpan).setHandler(result.completer()); if (sender.sendQueueFull()) { sendQueueDrainHandler(capacityAvailableHandler); } else { capacityAvailableHandler.handle(null); } } else { result.fail(new ServerErrorException(HttpURLConnection.HTTP_UNAVAILABLE, "send link to peer is closed")); } }); }
if (sender.sendQueueFull()) { LOG.debug("cannot send request to peer, no credit left for link [target: {}]", targetAddress); resultHandler.handle(Future.failedFuture(new ServerErrorException(
LOG.debug("sender open [target: {}, sendQueueFull: {}]", targetAddress, sender.sendQueueFull());
@Override public final Future<ProtonDelivery> send(final Message rawMessage, final SpanContext parent) { Objects.requireNonNull(rawMessage); if (!isRegistrationAssertionRequired()) { MessageHelper.getAndRemoveRegistrationAssertion(rawMessage); } final Span span = startSpan(parent, rawMessage); Tags.MESSAGE_BUS_DESTINATION.set(span, targetAddress); span.setTag(MessageHelper.APP_PROPERTY_TENANT_ID, tenantId); span.setTag(MessageHelper.APP_PROPERTY_DEVICE_ID, MessageHelper.getDeviceId(rawMessage)); tracer.inject(span.context(), Format.Builtin.TEXT_MAP, new MessageAnnotationsInjectAdapter(rawMessage)); return executeOrRunOnContext(result -> { if (sender.sendQueueFull()) { final ServiceInvocationException e = new ServerErrorException(HttpURLConnection.HTTP_UNAVAILABLE, "no credit available"); logError(span, e); span.finish(); result.fail(e); } else { sendMessage(rawMessage, span).setHandler(result.completer()); } }); }
/** * {@inheritDoc} */ @Override public Future<ProtonDelivery> sendAndWaitForOutcome(final Message rawMessage, final SpanContext parent) { Objects.requireNonNull(rawMessage); // we create a child span (instead of a following span) because we depend // on the outcome of the sending operation final Span span = startChildSpan(parent, rawMessage); Tags.MESSAGE_BUS_DESTINATION.set(span, targetAddress); span.setTag(MessageHelper.APP_PROPERTY_TENANT_ID, tenantId); span.setTag(MessageHelper.APP_PROPERTY_DEVICE_ID, MessageHelper.getDeviceId(rawMessage)); tracer.inject(span.context(), Format.Builtin.TEXT_MAP, new MessageAnnotationsInjectAdapter(rawMessage)); if (!isRegistrationAssertionRequired()) { MessageHelper.getAndRemoveRegistrationAssertion(rawMessage); } return executeOrRunOnContext(result -> { if (sender.sendQueueFull()) { final ServiceInvocationException e = new ServerErrorException(HttpURLConnection.HTTP_UNAVAILABLE, "no credit available"); logError(span, e); span.finish(); result.fail(e); } else { sendMessageAndWaitForOutcome(rawMessage, span).setHandler(result.completer()); } }); }
context.assertFalse(s.sendQueueFull(), "expected send queue not to be full");