Example usage for io.vertx.core.eventbus ReplyFailure NO_HANDLERS

List of usage examples for io.vertx.core.eventbus ReplyFailure NO_HANDLERS

Introduction

In this page you can find the example usage for io.vertx.core.eventbus ReplyFailure NO_HANDLERS.

Prototype

ReplyFailure NO_HANDLERS

To view the source code for io.vertx.core.eventbus ReplyFailure NO_HANDLERS.

Click Source Link

Document

The message send failed because no handlers were available to handle the message.

Usage

From source file:net.kuujo.copycat.vertx.VertxEventBusProtocolClient.java

License:Apache License

@Override
public CompletableFuture<ByteBuffer> write(ByteBuffer request) {
    final CompletableFuture<ByteBuffer> future = new CompletableFuture<>();
    context.runOnContext(v -> {//  www. java 2s.co  m
        DeliveryOptions options = new DeliveryOptions().setSendTimeout(5000);
        byte[] bytes = new byte[request.remaining()];
        request.get(bytes);
        vertx.eventBus().send(address, bytes, options, (Handler<AsyncResult<Message<byte[]>>>) result -> {
            if (result.succeeded()) {
                future.complete(ByteBuffer.wrap(result.result().body()));
            } else {
                ReplyException exception = (ReplyException) result.cause();
                if (exception.failureType() == ReplyFailure.NO_HANDLERS
                        || exception.failureType() == ReplyFailure.TIMEOUT) {
                    future.completeExceptionally(new ProtocolException(exception));
                } else {
                    future.completeExceptionally(new CopycatException(exception.getMessage()));
                }
            }
        });
    });
    return future;
}

From source file:net.kuujo.copycat.vertx.VertxEventBusProtocolServer.java

License:Apache License

@Override
public void handle(Message<byte[]> message) {
    if (handler != null) {
        handler.apply(ByteBuffer.wrap(message.body())).whenComplete((reply, error) -> {
            context.runOnContext(v -> {
                if (error != null) {
                    message.fail(0, error.getMessage());
                } else {
                    byte[] bytes = new byte[reply.remaining()];
                    reply.get(bytes);/*from w w  w. ja v  a 2s .  co  m*/
                    message.reply(bytes);
                }
            });
        });
    } else {
        message.fail(ReplyFailure.NO_HANDLERS.toInt(), "No message handler registered");
    }
}