public final class io.vertx.core.net.impl.ChannelProvider extends java.lang.Object
{
private final io.netty.bootstrap.Bootstrap bootstrap;
private final io.vertx.core.net.impl.SslChannelProvider sslContextProvider;
private final io.vertx.core.impl.ContextInternal context;
private io.vertx.core.net.ProxyOptions proxyOptions;
private java.lang.String applicationProtocol;
private io.vertx.core.Handler handler;
public void <init>(io.netty.bootstrap.Bootstrap, io.vertx.core.net.impl.SslChannelProvider, io.vertx.core.impl.ContextInternal)
{
io.netty.bootstrap.Bootstrap v;
io.vertx.core.net.impl.SslChannelProvider v;
io.vertx.core.net.impl.ChannelProvider v;
io.vertx.core.impl.ContextInternal v;
v := @this: io.vertx.core.net.impl.ChannelProvider;
v := @parameter: io.netty.bootstrap.Bootstrap;
v := @parameter: io.vertx.core.net.impl.SslChannelProvider;
v := @parameter: io.vertx.core.impl.ContextInternal;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<io.vertx.core.net.impl.ChannelProvider: io.netty.bootstrap.Bootstrap bootstrap> = v;
v.<io.vertx.core.net.impl.ChannelProvider: io.vertx.core.impl.ContextInternal context> = v;
v.<io.vertx.core.net.impl.ChannelProvider: io.vertx.core.net.impl.SslChannelProvider sslContextProvider> = v;
return;
}
public io.vertx.core.net.impl.ChannelProvider proxyOptions(io.vertx.core.net.ProxyOptions)
{
io.vertx.core.net.ProxyOptions v;
io.vertx.core.net.impl.ChannelProvider v;
v := @this: io.vertx.core.net.impl.ChannelProvider;
v := @parameter: io.vertx.core.net.ProxyOptions;
v.<io.vertx.core.net.impl.ChannelProvider: io.vertx.core.net.ProxyOptions proxyOptions> = v;
return v;
}
public io.vertx.core.net.impl.ChannelProvider handler(io.vertx.core.Handler)
{
io.vertx.core.Handler v;
io.vertx.core.net.impl.ChannelProvider v;
v := @this: io.vertx.core.net.impl.ChannelProvider;
v := @parameter: io.vertx.core.Handler;
v.<io.vertx.core.net.impl.ChannelProvider: io.vertx.core.Handler handler> = v;
return v;
}
public java.lang.String applicationProtocol()
{
java.lang.String v;
io.vertx.core.net.impl.ChannelProvider v;
v := @this: io.vertx.core.net.impl.ChannelProvider;
v = v.<io.vertx.core.net.impl.ChannelProvider: java.lang.String applicationProtocol>;
return v;
}
public io.netty.util.concurrent.Future connect(io.vertx.core.net.SocketAddress, io.vertx.core.net.SocketAddress, java.lang.String, boolean, boolean)
{
io.netty.util.concurrent.Promise v;
io.vertx.core.impl.ContextInternal v;
io.netty.channel.EventLoop v;
io.vertx.core.net.impl.ChannelProvider v;
java.lang.String v;
io.vertx.core.Handler v;
boolean v, v;
io.vertx.core.net.SocketAddress v, v;
v := @this: io.vertx.core.net.impl.ChannelProvider;
v := @parameter: io.vertx.core.net.SocketAddress;
v := @parameter: io.vertx.core.net.SocketAddress;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v := @parameter: boolean;
v = v.<io.vertx.core.net.impl.ChannelProvider: io.vertx.core.impl.ContextInternal context>;
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: io.netty.channel.EventLoop nettyEventLoop()>();
v = interfaceinvoke v.<io.netty.channel.EventLoop: io.netty.util.concurrent.Promise newPromise()>();
v = v.<io.vertx.core.net.impl.ChannelProvider: io.vertx.core.Handler handler>;
specialinvoke v.<io.vertx.core.net.impl.ChannelProvider: void connect(io.vertx.core.Handler,io.vertx.core.net.SocketAddress,io.vertx.core.net.SocketAddress,java.lang.String,boolean,boolean,io.netty.util.concurrent.Promise)>(v, v, v, v, v, v, v);
return v;
}
private void connect(io.vertx.core.Handler, io.vertx.core.net.SocketAddress, io.vertx.core.net.SocketAddress, java.lang.String, boolean, boolean, io.netty.util.concurrent.Promise)
{
io.vertx.core.impl.ContextInternal v;
io.vertx.core.spi.transport.Transport v;
io.vertx.core.net.impl.ChannelProvider v;
io.netty.channel.ChannelFactory v;
java.lang.String v;
boolean v, v, v;
io.vertx.core.net.SocketAddress v, v;
io.vertx.core.net.ProxyOptions v;
io.vertx.core.impl.VertxInternal v;
io.netty.util.concurrent.Promise v;
java.lang.Exception v;
io.netty.bootstrap.Bootstrap v;
io.vertx.core.Handler v;
v := @this: io.vertx.core.net.impl.ChannelProvider;
v := @parameter: io.vertx.core.Handler;
v := @parameter: io.vertx.core.net.SocketAddress;
v := @parameter: io.vertx.core.net.SocketAddress;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: io.netty.util.concurrent.Promise;
label:
v = v.<io.vertx.core.net.impl.ChannelProvider: io.netty.bootstrap.Bootstrap bootstrap>;
v = v.<io.vertx.core.net.impl.ChannelProvider: io.vertx.core.impl.ContextInternal context>;
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: io.vertx.core.impl.VertxInternal owner()>();
v = interfaceinvoke v.<io.vertx.core.impl.VertxInternal: io.vertx.core.spi.transport.Transport transport()>();
v = interfaceinvoke v.<io.vertx.core.net.SocketAddress: boolean isDomainSocket()>();
v = interfaceinvoke v.<io.vertx.core.spi.transport.Transport: io.netty.channel.ChannelFactory channelFactory(boolean)>(v);
virtualinvoke v.<io.netty.bootstrap.Bootstrap: io.netty.bootstrap.AbstractBootstrap channelFactory(io.netty.channel.ChannelFactory)>(v);
label:
goto label;
label:
v := @caughtexception;
interfaceinvoke v.<io.netty.util.concurrent.Promise: io.netty.util.concurrent.Promise setFailure(java.lang.Throwable)>(v);
return;
label:
v = v.<io.vertx.core.net.impl.ChannelProvider: io.vertx.core.net.ProxyOptions proxyOptions>;
if v == null goto label;
specialinvoke v.<io.vertx.core.net.impl.ChannelProvider: void handleProxyConnect(io.vertx.core.Handler,io.vertx.core.net.SocketAddress,io.vertx.core.net.SocketAddress,java.lang.String,boolean,boolean,io.netty.util.concurrent.Promise)>(v, v, v, v, v, v, v);
goto label;
label:
specialinvoke v.<io.vertx.core.net.impl.ChannelProvider: void handleConnect(io.vertx.core.Handler,io.vertx.core.net.SocketAddress,io.vertx.core.net.SocketAddress,java.lang.String,boolean,boolean,io.netty.util.concurrent.Promise)>(v, v, v, v, v, v, v);
label:
return;
catch java.lang.Exception from label to label with label;
}
private void initSSL(io.vertx.core.Handler, io.vertx.core.net.SocketAddress, java.lang.String, boolean, boolean, io.netty.channel.Channel, io.netty.util.concurrent.Promise)
{
io.netty.util.concurrent.Promise v;
io.vertx.core.net.impl.ChannelProvider$1 v;
io.netty.channel.ChannelPipeline v;
io.netty.channel.ChannelHandler[] v;
io.netty.channel.Channel v;
io.vertx.core.net.impl.SslChannelProvider v;
io.netty.handler.ssl.SslHandler v;
io.vertx.core.net.impl.ChannelProvider v;
java.lang.String v;
io.vertx.core.Handler v;
boolean v, v;
io.vertx.core.net.SocketAddress v;
v := @this: io.vertx.core.net.impl.ChannelProvider;
v := @parameter: io.vertx.core.Handler;
v := @parameter: io.vertx.core.net.SocketAddress;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: io.netty.channel.Channel;
v := @parameter: io.netty.util.concurrent.Promise;
if v == 0 goto label;
v = v.<io.vertx.core.net.impl.ChannelProvider: io.vertx.core.net.impl.SslChannelProvider sslContextProvider>;
v = virtualinvoke v.<io.vertx.core.net.impl.SslChannelProvider: io.netty.handler.ssl.SslHandler createClientSslHandler(io.vertx.core.net.SocketAddress,java.lang.String,boolean)>(v, v, v);
v = interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.ChannelPipeline pipeline()>();
interfaceinvoke v.<io.netty.channel.ChannelPipeline: io.netty.channel.ChannelPipeline addLast(java.lang.String,io.netty.channel.ChannelHandler)>("ssl", v);
v = newarray (io.netty.channel.ChannelHandler)[1];
v = new io.vertx.core.net.impl.ChannelProvider$1;
specialinvoke v.<io.vertx.core.net.impl.ChannelProvider$1: void <init>(io.vertx.core.net.impl.ChannelProvider,io.netty.handler.ssl.SslHandler,io.vertx.core.Handler,io.netty.channel.Channel,io.netty.util.concurrent.Promise)>(v, v, v, v, v);
v[0] = v;
interfaceinvoke v.<io.netty.channel.ChannelPipeline: io.netty.channel.ChannelPipeline addLast(io.netty.channel.ChannelHandler[])>(v);
label:
return;
}
private void handleConnect(io.vertx.core.Handler, io.vertx.core.net.SocketAddress, io.vertx.core.net.SocketAddress, java.lang.String, boolean, boolean, io.netty.util.concurrent.Promise)
{
java.net.SocketAddress v;
io.vertx.core.impl.ContextInternal v;
io.vertx.core.net.impl.ChannelProvider$2 v;
io.vertx.core.spi.transport.Transport v;
io.vertx.core.net.impl.ChannelProvider v;
java.lang.String v;
boolean v, v;
io.vertx.core.net.SocketAddress v, v;
io.vertx.core.impl.VertxInternal v;
io.netty.util.concurrent.Promise v;
io.netty.util.concurrent.GenericFutureListener v;
io.netty.channel.ChannelFuture v;
io.netty.bootstrap.Bootstrap v, v, v;
io.netty.resolver.AddressResolverGroup v;
io.vertx.core.Handler v;
v := @this: io.vertx.core.net.impl.ChannelProvider;
v := @parameter: io.vertx.core.Handler;
v := @parameter: io.vertx.core.net.SocketAddress;
v := @parameter: io.vertx.core.net.SocketAddress;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: io.netty.util.concurrent.Promise;
v = v.<io.vertx.core.net.impl.ChannelProvider: io.vertx.core.impl.ContextInternal context>;
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: io.vertx.core.impl.VertxInternal owner()>();
v = v.<io.vertx.core.net.impl.ChannelProvider: io.netty.bootstrap.Bootstrap bootstrap>;
v = interfaceinvoke v.<io.vertx.core.impl.VertxInternal: io.netty.resolver.AddressResolverGroup nettyAddressResolverGroup()>();
virtualinvoke v.<io.netty.bootstrap.Bootstrap: io.netty.bootstrap.Bootstrap resolver(io.netty.resolver.AddressResolverGroup)>(v);
v = v.<io.vertx.core.net.impl.ChannelProvider: io.netty.bootstrap.Bootstrap bootstrap>;
v = new io.vertx.core.net.impl.ChannelProvider$2;
specialinvoke v.<io.vertx.core.net.impl.ChannelProvider$2: void <init>(io.vertx.core.net.impl.ChannelProvider,io.vertx.core.Handler,io.vertx.core.net.SocketAddress,java.lang.String,boolean,boolean,io.netty.util.concurrent.Promise)>(v, v, v, v, v, v, v);
virtualinvoke v.<io.netty.bootstrap.Bootstrap: io.netty.bootstrap.AbstractBootstrap handler(io.netty.channel.ChannelHandler)>(v);
v = v.<io.vertx.core.net.impl.ChannelProvider: io.netty.bootstrap.Bootstrap bootstrap>;
v = interfaceinvoke v.<io.vertx.core.impl.VertxInternal: io.vertx.core.spi.transport.Transport transport()>();
v = interfaceinvoke v.<io.vertx.core.spi.transport.Transport: java.net.SocketAddress convert(io.vertx.core.net.SocketAddress)>(v);
v = virtualinvoke v.<io.netty.bootstrap.Bootstrap: io.netty.channel.ChannelFuture connect(java.net.SocketAddress)>(v);
v = staticinvoke <io.vertx.core.net.impl.ChannelProvider$lambda_handleConnect_0__1340: io.netty.util.concurrent.GenericFutureListener bootstrap$(io.vertx.core.net.impl.ChannelProvider,io.vertx.core.Handler,io.netty.channel.ChannelFuture,boolean,io.netty.util.concurrent.Promise)>(v, v, v, v, v);
interfaceinvoke v.<io.netty.channel.ChannelFuture: io.netty.channel.ChannelFuture addListener(io.netty.util.concurrent.GenericFutureListener)>(v);
return;
}
private void connected(io.vertx.core.Handler, io.netty.channel.Channel, boolean, io.netty.util.concurrent.Promise)
{
io.netty.channel.Channel v;
io.netty.util.concurrent.Promise v;
io.vertx.core.net.impl.ChannelProvider v;
io.vertx.core.impl.ContextInternal v;
io.vertx.core.Handler v;
boolean v;
v := @this: io.vertx.core.net.impl.ChannelProvider;
v := @parameter: io.vertx.core.Handler;
v := @parameter: io.netty.channel.Channel;
v := @parameter: boolean;
v := @parameter: io.netty.util.concurrent.Promise;
if v != 0 goto label;
if v == null goto label;
v = v.<io.vertx.core.net.impl.ChannelProvider: io.vertx.core.impl.ContextInternal context>;
interfaceinvoke v.<io.vertx.core.impl.ContextInternal: void dispatch(java.lang.Object,io.vertx.core.Handler)>(v, v);
label:
interfaceinvoke v.<io.netty.util.concurrent.Promise: io.netty.util.concurrent.Promise setSuccess(java.lang.Object)>(v);
label:
return;
}
private void handleProxyConnect(io.vertx.core.Handler, io.vertx.core.net.SocketAddress, io.vertx.core.net.SocketAddress, java.lang.String, boolean, boolean, io.netty.util.concurrent.Promise)
{
io.vertx.core.impl.ContextInternal v;
io.vertx.core.net.impl.ChannelProvider v;
int v;
java.lang.String v, v, v, v;
boolean v, v;
io.vertx.core.net.SocketAddress v, v;
io.vertx.core.net.ProxyOptions v, v, v, v, v;
io.vertx.core.impl.VertxInternal v;
io.netty.util.concurrent.Promise v;
io.vertx.core.net.ProxyType v;
io.vertx.core.Handler v, v;
v := @this: io.vertx.core.net.impl.ChannelProvider;
v := @parameter: io.vertx.core.Handler;
v := @parameter: io.vertx.core.net.SocketAddress;
v := @parameter: io.vertx.core.net.SocketAddress;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: io.netty.util.concurrent.Promise;
v = v.<io.vertx.core.net.impl.ChannelProvider: io.vertx.core.impl.ContextInternal context>;
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: io.vertx.core.impl.VertxInternal owner()>();
v = v.<io.vertx.core.net.impl.ChannelProvider: io.vertx.core.net.ProxyOptions proxyOptions>;
v = virtualinvoke v.<io.vertx.core.net.ProxyOptions: java.lang.String getHost()>();
v = v.<io.vertx.core.net.impl.ChannelProvider: io.vertx.core.net.ProxyOptions proxyOptions>;
v = virtualinvoke v.<io.vertx.core.net.ProxyOptions: int getPort()>();
v = v.<io.vertx.core.net.impl.ChannelProvider: io.vertx.core.net.ProxyOptions proxyOptions>;
v = virtualinvoke v.<io.vertx.core.net.ProxyOptions: java.lang.String getUsername()>();
v = v.<io.vertx.core.net.impl.ChannelProvider: io.vertx.core.net.ProxyOptions proxyOptions>;
v = virtualinvoke v.<io.vertx.core.net.ProxyOptions: java.lang.String getPassword()>();
v = v.<io.vertx.core.net.impl.ChannelProvider: io.vertx.core.net.ProxyOptions proxyOptions>;
v = virtualinvoke v.<io.vertx.core.net.ProxyOptions: io.vertx.core.net.ProxyType getType()>();
v = staticinvoke <io.vertx.core.net.impl.ChannelProvider$lambda_handleProxyConnect_2__1341: io.vertx.core.Handler bootstrap$(io.vertx.core.net.impl.ChannelProvider,int,io.vertx.core.net.ProxyType,java.lang.String,java.lang.String,io.vertx.core.impl.VertxInternal,io.vertx.core.net.SocketAddress,io.vertx.core.Handler,io.vertx.core.net.SocketAddress,java.lang.String,boolean,boolean,io.netty.util.concurrent.Promise)>(v, v, v, v, v, v, v, v, v, v, v, v, v);
interfaceinvoke v.<io.vertx.core.impl.VertxInternal: void resolveAddress(java.lang.String,io.vertx.core.Handler)>(v, v);
return;
}
}