public class oadd.io.netty.handler.ssl.SniHandler extends oadd.io.netty.handler.ssl.AbstractSniHandler
{
private static final oadd.io.netty.handler.ssl.SniHandler$Selection EMPTY_SELECTION;
protected final oadd.io.netty.util.AsyncMapping mapping;
private volatile oadd.io.netty.handler.ssl.SniHandler$Selection selection;
public void <init>(oadd.io.netty.util.Mapping)
{
oadd.io.netty.handler.ssl.SniHandler$AsyncMappingAdapter v;
oadd.io.netty.handler.ssl.SniHandler v;
oadd.io.netty.util.Mapping v;
v := @this: oadd.io.netty.handler.ssl.SniHandler;
v := @parameter: oadd.io.netty.util.Mapping;
v = new oadd.io.netty.handler.ssl.SniHandler$AsyncMappingAdapter;
specialinvoke v.<oadd.io.netty.handler.ssl.SniHandler$AsyncMappingAdapter: void <init>(oadd.io.netty.util.Mapping)>(v);
specialinvoke v.<oadd.io.netty.handler.ssl.SniHandler: void <init>(oadd.io.netty.util.AsyncMapping)>(v);
return;
}
public void <init>(oadd.io.netty.util.DomainNameMapping)
{
oadd.io.netty.handler.ssl.SniHandler v;
oadd.io.netty.util.DomainNameMapping v;
v := @this: oadd.io.netty.handler.ssl.SniHandler;
v := @parameter: oadd.io.netty.util.DomainNameMapping;
specialinvoke v.<oadd.io.netty.handler.ssl.SniHandler: void <init>(oadd.io.netty.util.Mapping)>(v);
return;
}
public void <init>(oadd.io.netty.util.AsyncMapping)
{
oadd.io.netty.util.AsyncMapping v;
java.lang.Object v;
oadd.io.netty.handler.ssl.SniHandler$Selection v;
oadd.io.netty.handler.ssl.SniHandler v;
v := @this: oadd.io.netty.handler.ssl.SniHandler;
v := @parameter: oadd.io.netty.util.AsyncMapping;
specialinvoke v.<oadd.io.netty.handler.ssl.AbstractSniHandler: void <init>()>();
v = <oadd.io.netty.handler.ssl.SniHandler: oadd.io.netty.handler.ssl.SniHandler$Selection EMPTY_SELECTION>;
v.<oadd.io.netty.handler.ssl.SniHandler: oadd.io.netty.handler.ssl.SniHandler$Selection selection> = v;
v = staticinvoke <oadd.io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "mapping");
v.<oadd.io.netty.handler.ssl.SniHandler: oadd.io.netty.util.AsyncMapping mapping> = v;
return;
}
public java.lang.String hostname()
{
java.lang.String v;
oadd.io.netty.handler.ssl.SniHandler$Selection v;
oadd.io.netty.handler.ssl.SniHandler v;
v := @this: oadd.io.netty.handler.ssl.SniHandler;
v = v.<oadd.io.netty.handler.ssl.SniHandler: oadd.io.netty.handler.ssl.SniHandler$Selection selection>;
v = v.<oadd.io.netty.handler.ssl.SniHandler$Selection: java.lang.String hostname>;
return v;
}
public oadd.io.netty.handler.ssl.SslContext sslContext()
{
oadd.io.netty.handler.ssl.SniHandler$Selection v;
oadd.io.netty.handler.ssl.SslContext v;
oadd.io.netty.handler.ssl.SniHandler v;
v := @this: oadd.io.netty.handler.ssl.SniHandler;
v = v.<oadd.io.netty.handler.ssl.SniHandler: oadd.io.netty.handler.ssl.SniHandler$Selection selection>;
v = v.<oadd.io.netty.handler.ssl.SniHandler$Selection: oadd.io.netty.handler.ssl.SslContext context>;
return v;
}
protected oadd.io.netty.util.concurrent.Future lookup(oadd.io.netty.channel.ChannelHandlerContext, java.lang.String) throws java.lang.Exception
{
oadd.io.netty.util.concurrent.Promise v;
oadd.io.netty.util.concurrent.Future v;
oadd.io.netty.util.AsyncMapping v;
oadd.io.netty.channel.ChannelHandlerContext v;
java.lang.String v;
oadd.io.netty.handler.ssl.SniHandler v;
oadd.io.netty.util.concurrent.EventExecutor v;
v := @this: oadd.io.netty.handler.ssl.SniHandler;
v := @parameter: oadd.io.netty.channel.ChannelHandlerContext;
v := @parameter: java.lang.String;
v = v.<oadd.io.netty.handler.ssl.SniHandler: oadd.io.netty.util.AsyncMapping mapping>;
v = interfaceinvoke v.<oadd.io.netty.channel.ChannelHandlerContext: oadd.io.netty.util.concurrent.EventExecutor executor()>();
v = interfaceinvoke v.<oadd.io.netty.util.concurrent.EventExecutor: oadd.io.netty.util.concurrent.Promise newPromise()>();
v = interfaceinvoke v.<oadd.io.netty.util.AsyncMapping: oadd.io.netty.util.concurrent.Future map(java.lang.Object,oadd.io.netty.util.concurrent.Promise)>(v, v);
return v;
}
protected final void onLookupComplete(oadd.io.netty.channel.ChannelHandlerContext, java.lang.String, oadd.io.netty.util.concurrent.Future) throws java.lang.Exception
{
java.lang.Throwable v, v;
oadd.io.netty.util.concurrent.Future v;
oadd.io.netty.handler.ssl.SniHandler$Selection v, v;
oadd.io.netty.handler.ssl.SniHandler v;
java.lang.Object v;
oadd.io.netty.channel.ChannelHandlerContext v;
java.lang.String v, v;
boolean v, v;
oadd.io.netty.handler.codec.DecoderException v;
v := @this: oadd.io.netty.handler.ssl.SniHandler;
v := @parameter: oadd.io.netty.channel.ChannelHandlerContext;
v := @parameter: java.lang.String;
v := @parameter: oadd.io.netty.util.concurrent.Future;
v = interfaceinvoke v.<oadd.io.netty.util.concurrent.Future: boolean isSuccess()>();
if v != 0 goto label;
v = interfaceinvoke v.<oadd.io.netty.util.concurrent.Future: java.lang.Throwable cause()>();
v = v instanceof java.lang.Error;
if v == 0 goto label;
throw v;
label:
v = new oadd.io.netty.handler.codec.DecoderException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("failed to get the SslContext for \u0001");
specialinvoke v.<oadd.io.netty.handler.codec.DecoderException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
v = interfaceinvoke v.<oadd.io.netty.util.concurrent.Future: java.lang.Object getNow()>();
v = new oadd.io.netty.handler.ssl.SniHandler$Selection;
specialinvoke v.<oadd.io.netty.handler.ssl.SniHandler$Selection: void <init>(oadd.io.netty.handler.ssl.SslContext,java.lang.String)>(v, v);
v.<oadd.io.netty.handler.ssl.SniHandler: oadd.io.netty.handler.ssl.SniHandler$Selection selection> = v;
label:
virtualinvoke v.<oadd.io.netty.handler.ssl.SniHandler: void replaceHandler(oadd.io.netty.channel.ChannelHandlerContext,java.lang.String,oadd.io.netty.handler.ssl.SslContext)>(v, v, v);
label:
goto label;
label:
v := @caughtexception;
v = <oadd.io.netty.handler.ssl.SniHandler: oadd.io.netty.handler.ssl.SniHandler$Selection EMPTY_SELECTION>;
v.<oadd.io.netty.handler.ssl.SniHandler: oadd.io.netty.handler.ssl.SniHandler$Selection selection> = v;
staticinvoke <oadd.io.netty.util.internal.PlatformDependent: void throwException(java.lang.Throwable)>(v);
label:
return;
catch java.lang.Throwable from label to label with label;
}
protected void replaceHandler(oadd.io.netty.channel.ChannelHandlerContext, java.lang.String, oadd.io.netty.handler.ssl.SslContext) throws java.lang.Exception
{
java.lang.Throwable v;
oadd.io.netty.handler.ssl.SniHandler v;
oadd.io.netty.handler.ssl.SslHandler v;
javax.net.ssl.SSLEngine v;
java.lang.Class v;
oadd.io.netty.buffer.ByteBufAllocator v;
oadd.io.netty.channel.ChannelHandlerContext v;
java.lang.String v, v;
oadd.io.netty.channel.ChannelPipeline v;
oadd.io.netty.handler.ssl.SslContext v;
v := @this: oadd.io.netty.handler.ssl.SniHandler;
v := @parameter: oadd.io.netty.channel.ChannelHandlerContext;
v := @parameter: java.lang.String;
v := @parameter: oadd.io.netty.handler.ssl.SslContext;
v = null;
label:
v = interfaceinvoke v.<oadd.io.netty.channel.ChannelHandlerContext: oadd.io.netty.buffer.ByteBufAllocator alloc()>();
v = virtualinvoke v.<oadd.io.netty.handler.ssl.SniHandler: oadd.io.netty.handler.ssl.SslHandler newSslHandler(oadd.io.netty.handler.ssl.SslContext,oadd.io.netty.buffer.ByteBufAllocator)>(v, v);
v = interfaceinvoke v.<oadd.io.netty.channel.ChannelHandlerContext: oadd.io.netty.channel.ChannelPipeline pipeline()>();
v = class "Loadd/io/netty/handler/ssl/SslHandler;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
interfaceinvoke v.<oadd.io.netty.channel.ChannelPipeline: oadd.io.netty.channel.ChannelPipeline replace(oadd.io.netty.channel.ChannelHandler,java.lang.String,oadd.io.netty.channel.ChannelHandler)>(v, v, v);
label:
goto label;
label:
v := @caughtexception;
if v == null goto label;
v = virtualinvoke v.<oadd.io.netty.handler.ssl.SslHandler: javax.net.ssl.SSLEngine engine()>();
staticinvoke <oadd.io.netty.util.ReferenceCountUtil: void safeRelease(java.lang.Object)>(v);
label:
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
protected oadd.io.netty.handler.ssl.SslHandler newSslHandler(oadd.io.netty.handler.ssl.SslContext, oadd.io.netty.buffer.ByteBufAllocator)
{
oadd.io.netty.buffer.ByteBufAllocator v;
oadd.io.netty.handler.ssl.SslContext v;
oadd.io.netty.handler.ssl.SniHandler v;
oadd.io.netty.handler.ssl.SslHandler v;
v := @this: oadd.io.netty.handler.ssl.SniHandler;
v := @parameter: oadd.io.netty.handler.ssl.SslContext;
v := @parameter: oadd.io.netty.buffer.ByteBufAllocator;
v = virtualinvoke v.<oadd.io.netty.handler.ssl.SslContext: oadd.io.netty.handler.ssl.SslHandler newHandler(oadd.io.netty.buffer.ByteBufAllocator)>(v);
return v;
}
static void <clinit>()
{
oadd.io.netty.handler.ssl.SniHandler$Selection v;
v = new oadd.io.netty.handler.ssl.SniHandler$Selection;
specialinvoke v.<oadd.io.netty.handler.ssl.SniHandler$Selection: void <init>(oadd.io.netty.handler.ssl.SslContext,java.lang.String)>(null, null);
<oadd.io.netty.handler.ssl.SniHandler: oadd.io.netty.handler.ssl.SniHandler$Selection EMPTY_SELECTION> = v;
return;
}
}