Example usage for io.vertx.core.net SocketAddress inetSocketAddress

List of usage examples for io.vertx.core.net SocketAddress inetSocketAddress

Introduction

In this page you can find the example usage for io.vertx.core.net SocketAddress inetSocketAddress.

Prototype

static SocketAddress inetSocketAddress(int port, String host) 

Source Link

Document

Create a inet socket address, host must be non null and port must be between 0 and 65536 .

Usage

From source file:io.reactiverse.pgclient.impl.PgConnectionFactory.java

License:Apache License

private void doConnect(boolean ssl, Handler<AsyncResult<SocketConnection>> handler) {
    if (Vertx.currentContext() != ctx) {
        throw new IllegalStateException();
    }//from  www  . j a  v  a2s  .  c  o m
    SocketAddress socketAddress;
    if (!isUsingDomainSocket) {
        socketAddress = SocketAddress.inetSocketAddress(port, host);
    } else {
        socketAddress = SocketAddress.domainSocketAddress(host + "/.s.PGSQL." + port);
    }

    Future<NetSocket> future = Future.<NetSocket>future().setHandler(ar -> {
        if (ar.succeeded()) {
            NetSocketInternal socket = (NetSocketInternal) ar.result();
            SocketConnection conn = newSocketConnection(socket);

            if (ssl && !isUsingDomainSocket) {
                // upgrade connection to SSL if needed
                conn.upgradeToSSLConnection(ar2 -> {
                    if (ar2.succeeded()) {
                        handler.handle(Future.succeededFuture(conn));
                    } else {
                        handler.handle(Future.failedFuture(ar2.cause()));
                    }
                });
            } else {
                handler.handle(Future.succeededFuture(conn));
            }
        } else {
            handler.handle(Future.failedFuture(ar.cause()));
        }
    });

    try {
        client.connect(socketAddress, null, future);
    } catch (Exception e) {
        // Client is closed
        future.fail(e);
    }
}