class io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler extends io.netty.channel.ChannelInboundHandlerAdapter
{
private static final long DEFAULT_HANDSHAKE_TIMEOUT_MS;
private final io.netty.handler.codec.http.websocketx.WebSocketClientHandshaker handshaker;
private final long handshakeTimeoutMillis;
private io.netty.channel.ChannelHandlerContext ctx;
private io.netty.channel.ChannelPromise handshakePromise;
void <init>(io.netty.handler.codec.http.websocketx.WebSocketClientHandshaker)
{
io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler v;
io.netty.handler.codec.http.websocketx.WebSocketClientHandshaker v;
v := @this: io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler;
v := @parameter: io.netty.handler.codec.http.websocketx.WebSocketClientHandshaker;
specialinvoke v.<io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler: void <init>(io.netty.handler.codec.http.websocketx.WebSocketClientHandshaker,long)>(v, 10000L);
return;
}
void <init>(io.netty.handler.codec.http.websocketx.WebSocketClientHandshaker, long)
{
io.netty.handler.codec.http.websocketx.WebSocketClientHandshaker v;
long v, v;
io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler v;
v := @this: io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler;
v := @parameter: io.netty.handler.codec.http.websocketx.WebSocketClientHandshaker;
v := @parameter: long;
specialinvoke v.<io.netty.channel.ChannelInboundHandlerAdapter: void <init>()>();
v.<io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler: io.netty.handler.codec.http.websocketx.WebSocketClientHandshaker handshaker> = v;
v = staticinvoke <io.netty.util.internal.ObjectUtil: long checkPositive(long,java.lang.String)>(v, "handshakeTimeoutMillis");
v.<io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler: long handshakeTimeoutMillis> = v;
return;
}
public void handlerAdded(io.netty.channel.ChannelHandlerContext) throws java.lang.Exception
{
io.netty.channel.ChannelHandlerContext v;
io.netty.channel.ChannelPromise v;
io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler v;
v := @this: io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v.<io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler: io.netty.channel.ChannelHandlerContext ctx> = v;
v = interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.ChannelPromise newPromise()>();
v.<io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler: io.netty.channel.ChannelPromise handshakePromise> = v;
return;
}
public void channelActive(io.netty.channel.ChannelHandlerContext) throws java.lang.Exception
{
io.netty.channel.Channel v;
io.netty.channel.ChannelHandlerContext v;
io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler$1 v;
io.netty.handler.codec.http.websocketx.WebSocketClientHandshaker v;
io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler v;
io.netty.channel.ChannelFuture v;
v := @this: io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler;
v := @parameter: io.netty.channel.ChannelHandlerContext;
specialinvoke v.<io.netty.channel.ChannelInboundHandlerAdapter: void channelActive(io.netty.channel.ChannelHandlerContext)>(v);
v = v.<io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler: io.netty.handler.codec.http.websocketx.WebSocketClientHandshaker handshaker>;
v = interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.Channel channel()>();
v = virtualinvoke v.<io.netty.handler.codec.http.websocketx.WebSocketClientHandshaker: io.netty.channel.ChannelFuture handshake(io.netty.channel.Channel)>(v);
v = new io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler$1;
specialinvoke v.<io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler$1: void <init>(io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler,io.netty.channel.ChannelHandlerContext)>(v, v);
interfaceinvoke v.<io.netty.channel.ChannelFuture: io.netty.channel.ChannelFuture addListener(io.netty.util.concurrent.GenericFutureListener)>(v);
specialinvoke v.<io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler: void applyHandshakeTimeout()>();
return;
}
public void channelInactive(io.netty.channel.ChannelHandlerContext) throws java.lang.Exception
{
io.netty.channel.ChannelHandlerContext v;
io.netty.channel.ChannelPromise v, v;
io.netty.handler.codec.http.websocketx.WebSocketClientHandshakeException v;
io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler v;
boolean v;
v := @this: io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v = v.<io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler: io.netty.channel.ChannelPromise handshakePromise>;
v = interfaceinvoke v.<io.netty.channel.ChannelPromise: boolean isDone()>();
if v != 0 goto label;
v = v.<io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler: io.netty.channel.ChannelPromise handshakePromise>;
v = new io.netty.handler.codec.http.websocketx.WebSocketClientHandshakeException;
specialinvoke v.<io.netty.handler.codec.http.websocketx.WebSocketClientHandshakeException: void <init>(java.lang.String)>("channel closed with handshake in progress");
interfaceinvoke v.<io.netty.channel.ChannelPromise: boolean tryFailure(java.lang.Throwable)>(v);
label:
specialinvoke v.<io.netty.channel.ChannelInboundHandlerAdapter: void channelInactive(io.netty.channel.ChannelHandlerContext)>(v);
return;
}
public void channelRead(io.netty.channel.ChannelHandlerContext, java.lang.Object) throws java.lang.Exception
{
java.lang.Throwable v;
java.lang.IllegalStateException v;
io.netty.channel.ChannelPipeline v;
io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler v;
io.netty.channel.Channel v;
io.netty.channel.ChannelHandlerContext v;
io.netty.channel.ChannelPromise v;
io.netty.handler.codec.http.websocketx.WebSocketClientHandshaker v, v;
io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandler$ClientHandshakeStateEvent v;
java.lang.Object v;
boolean v, v;
v := @this: io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: java.lang.Object;
v = v instanceof io.netty.handler.codec.http.FullHttpResponse;
if v != 0 goto label;
interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.ChannelHandlerContext fireChannelRead(java.lang.Object)>(v);
return;
label:
v = v.<io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler: io.netty.handler.codec.http.websocketx.WebSocketClientHandshaker handshaker>;
v = virtualinvoke v.<io.netty.handler.codec.http.websocketx.WebSocketClientHandshaker: boolean isHandshakeComplete()>();
if v != 0 goto label;
v = v.<io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler: io.netty.handler.codec.http.websocketx.WebSocketClientHandshaker handshaker>;
v = interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.Channel channel()>();
virtualinvoke v.<io.netty.handler.codec.http.websocketx.WebSocketClientHandshaker: void finishHandshake(io.netty.channel.Channel,io.netty.handler.codec.http.FullHttpResponse)>(v, v);
v = v.<io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler: io.netty.channel.ChannelPromise handshakePromise>;
interfaceinvoke v.<io.netty.channel.ChannelPromise: boolean trySuccess()>();
v = <io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandler$ClientHandshakeStateEvent: io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandler$ClientHandshakeStateEvent HANDSHAKE_COMPLETE>;
interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.ChannelHandlerContext fireUserEventTriggered(java.lang.Object)>(v);
v = interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.ChannelPipeline pipeline()>();
interfaceinvoke v.<io.netty.channel.ChannelPipeline: io.netty.channel.ChannelPipeline remove(io.netty.channel.ChannelHandler)>(v);
label:
interfaceinvoke v.<io.netty.handler.codec.http.FullHttpResponse: boolean release()>();
return;
label:
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("WebSocketClientHandshaker should have been non finished yet");
throw v;
label:
v := @caughtexception;
interfaceinvoke v.<io.netty.handler.codec.http.FullHttpResponse: boolean release()>();
throw v;
catch java.lang.Throwable from label to label with label;
}
private void applyHandshakeTimeout()
{
io.netty.util.concurrent.EventExecutor v;
io.netty.util.concurrent.ScheduledFuture v;
long v, v;
io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler v;
java.util.concurrent.TimeUnit v;
io.netty.channel.ChannelHandlerContext v;
io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler$3 v;
io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler$2 v;
byte v;
io.netty.channel.ChannelPromise v;
boolean v;
v := @this: io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler;
v = v.<io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler: io.netty.channel.ChannelPromise handshakePromise>;
v = v.<io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler: long handshakeTimeoutMillis>;
v = v cmp 0L;
if v <= 0 goto label;
v = interfaceinvoke v.<io.netty.channel.ChannelPromise: boolean isDone()>();
if v == 0 goto label;
label:
return;
label:
v = v.<io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler: io.netty.channel.ChannelHandlerContext ctx>;
v = interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.util.concurrent.EventExecutor executor()>();
v = new io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler$2;
specialinvoke v.<io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler$2: void <init>(io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler,io.netty.channel.ChannelPromise)>(v, v);
v = v.<io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler: long handshakeTimeoutMillis>;
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
v = interfaceinvoke v.<io.netty.util.concurrent.EventExecutor: io.netty.util.concurrent.ScheduledFuture schedule(java.lang.Runnable,long,java.util.concurrent.TimeUnit)>(v, v, v);
v = new io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler$3;
specialinvoke v.<io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler$3: void <init>(io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler,io.netty.util.concurrent.Future)>(v, v);
interfaceinvoke v.<io.netty.channel.ChannelPromise: io.netty.channel.ChannelPromise addListener(io.netty.util.concurrent.GenericFutureListener)>(v);
return;
}
io.netty.channel.ChannelFuture getHandshakeFuture()
{
io.netty.channel.ChannelPromise v;
io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler v;
v := @this: io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler;
v = v.<io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandshakeHandler: io.netty.channel.ChannelPromise handshakePromise>;
return v;
}
}