public abstract class io.vertx.core.http.impl.WebSocketImplBase extends java.lang.Object implements io.vertx.core.http.impl.WebSocketInternal
{
private final boolean supportsContinuation;
private final java.lang.String textHandlerID;
private final java.lang.String binaryHandlerID;
private final int maxWebSocketFrameSize;
private final int maxWebSocketMessageSize;
private final io.vertx.core.streams.impl.InboundBuffer pending;
private io.netty.channel.ChannelHandlerContext chctx;
protected final io.vertx.core.impl.ContextInternal context;
private io.vertx.core.eventbus.MessageConsumer binaryHandlerRegistration;
private io.vertx.core.eventbus.MessageConsumer textHandlerRegistration;
private java.lang.String subProtocol;
private java.lang.Object metric;
private io.vertx.core.Handler handler;
private io.vertx.core.Handler frameHandler;
private io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator frameAggregator;
private io.vertx.core.Handler pongHandler;
private io.vertx.core.Handler drainHandler;
private io.vertx.core.Handler exceptionHandler;
private io.vertx.core.Handler closeHandler;
private io.vertx.core.Handler endHandler;
protected final io.vertx.core.http.impl.Http1xConnectionBase conn;
private boolean writable;
private boolean closed;
private java.lang.Short closeStatusCode;
private java.lang.String closeReason;
private long closeTimeoutID;
private io.vertx.core.MultiMap headers;
void <init>(io.vertx.core.impl.ContextInternal, io.vertx.core.http.impl.Http1xConnectionBase, boolean, int, int, boolean)
{
io.vertx.core.streams.impl.InboundBuffer v, v, v;
io.vertx.core.impl.ContextInternal v;
io.netty.channel.ChannelHandlerContext v;
int v, v;
java.lang.String v, v;
io.vertx.core.http.impl.Http1xConnectionBase v;
io.vertx.core.http.impl.WebSocketImplBase v;
boolean v, v, v, v;
java.util.UUID v, v;
io.vertx.core.Handler v, v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: io.vertx.core.impl.ContextInternal;
v := @parameter: io.vertx.core.http.impl.Http1xConnectionBase;
v := @parameter: boolean;
v := @parameter: int;
v := @parameter: int;
v := @parameter: boolean;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<io.vertx.core.http.impl.WebSocketImplBase: long closeTimeoutID> = -1L;
v.<io.vertx.core.http.impl.WebSocketImplBase: boolean supportsContinuation> = v;
if v == 0 goto label;
v = staticinvoke <java.util.UUID: java.util.UUID randomUUID()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.util.UUID)>(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[])>("__vertx.ws.\u0001");
v.<io.vertx.core.http.impl.WebSocketImplBase: java.lang.String textHandlerID> = v;
v = staticinvoke <java.util.UUID: java.util.UUID randomUUID()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.util.UUID)>(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[])>("__vertx.ws.\u0001");
v.<io.vertx.core.http.impl.WebSocketImplBase: java.lang.String binaryHandlerID> = v;
goto label;
label:
v.<io.vertx.core.http.impl.WebSocketImplBase: java.lang.String binaryHandlerID> = null;
v.<io.vertx.core.http.impl.WebSocketImplBase: java.lang.String textHandlerID> = null;
label:
v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn> = v;
v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.impl.ContextInternal context> = v;
v.<io.vertx.core.http.impl.WebSocketImplBase: int maxWebSocketFrameSize> = v;
v.<io.vertx.core.http.impl.WebSocketImplBase: int maxWebSocketMessageSize> = v;
v = new io.vertx.core.streams.impl.InboundBuffer;
specialinvoke v.<io.vertx.core.streams.impl.InboundBuffer: void <init>(io.vertx.core.Context)>(v);
v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.streams.impl.InboundBuffer pending> = v;
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xConnectionBase: boolean isNotWritable()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v.<io.vertx.core.http.impl.WebSocketImplBase: boolean writable> = v;
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xConnectionBase: io.netty.channel.ChannelHandlerContext channelHandlerContext()>();
v.<io.vertx.core.http.impl.WebSocketImplBase: io.netty.channel.ChannelHandlerContext chctx> = v;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.streams.impl.InboundBuffer pending>;
v = staticinvoke <io.vertx.core.http.impl.WebSocketImplBase$receiveFrame__1414: io.vertx.core.Handler bootstrap$(io.vertx.core.http.impl.WebSocketImplBase)>(v);
virtualinvoke v.<io.vertx.core.streams.impl.InboundBuffer: io.vertx.core.streams.impl.InboundBuffer handler(io.vertx.core.Handler)>(v);
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.streams.impl.InboundBuffer pending>;
v = staticinvoke <io.vertx.core.http.impl.WebSocketImplBase$lambda_new_0__1415: io.vertx.core.Handler bootstrap$(io.vertx.core.http.impl.Http1xConnectionBase)>(v);
virtualinvoke v.<io.vertx.core.streams.impl.InboundBuffer: io.vertx.core.streams.impl.InboundBuffer drainHandler(io.vertx.core.Handler)>(v);
return;
}
void registerHandler(io.vertx.core.eventbus.EventBus)
{
io.vertx.core.eventbus.EventBus v;
java.lang.String v, v, v;
io.vertx.core.Handler v, v;
io.vertx.core.eventbus.MessageConsumer v, v, v, v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: io.vertx.core.eventbus.EventBus;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: java.lang.String binaryHandlerID>;
if v == null goto label;
v = staticinvoke <io.vertx.core.http.impl.WebSocketImplBase$lambda_registerHandler_1__1416: io.vertx.core.Handler bootstrap$(io.vertx.core.http.impl.WebSocketImplBase)>(v);
v = staticinvoke <io.vertx.core.http.impl.WebSocketImplBase$lambda_registerHandler_2__1417: io.vertx.core.Handler bootstrap$(io.vertx.core.http.impl.WebSocketImplBase)>(v);
v = v.<io.vertx.core.http.impl.WebSocketImplBase: java.lang.String binaryHandlerID>;
v = interfaceinvoke v.<io.vertx.core.eventbus.EventBus: io.vertx.core.eventbus.MessageConsumer localConsumer(java.lang.String)>(v);
v = interfaceinvoke v.<io.vertx.core.eventbus.MessageConsumer: io.vertx.core.eventbus.MessageConsumer handler(io.vertx.core.Handler)>(v);
v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.eventbus.MessageConsumer binaryHandlerRegistration> = v;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: java.lang.String textHandlerID>;
v = interfaceinvoke v.<io.vertx.core.eventbus.EventBus: io.vertx.core.eventbus.MessageConsumer localConsumer(java.lang.String)>(v);
v = interfaceinvoke v.<io.vertx.core.eventbus.MessageConsumer: io.vertx.core.eventbus.MessageConsumer handler(io.vertx.core.Handler)>(v);
v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.eventbus.MessageConsumer textHandlerRegistration> = v;
label:
return;
}
public io.netty.channel.ChannelHandlerContext channelHandlerContext()
{
io.netty.channel.ChannelHandlerContext v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.netty.channel.ChannelHandlerContext chctx>;
return v;
}
public io.vertx.core.http.HttpConnection connection()
{
io.vertx.core.http.impl.Http1xConnectionBase v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
return v;
}
public java.lang.String binaryHandlerID()
{
java.lang.String v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: java.lang.String binaryHandlerID>;
return v;
}
public java.lang.String textHandlerID()
{
java.lang.String v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: java.lang.String textHandlerID>;
return v;
}
public boolean writeQueueFull()
{
java.lang.Throwable v;
io.vertx.core.http.impl.Http1xConnectionBase v, v;
io.vertx.core.http.impl.WebSocketImplBase v;
boolean v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
entermonitor v;
label:
virtualinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: void checkClosed()>();
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xConnectionBase: boolean isNotWritable()>();
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public io.vertx.core.Future close()
{
java.lang.String v;
io.vertx.core.Future v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v = null;
v = virtualinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.Future close(short,java.lang.String)>(1000, v);
return v;
}
public void close(io.vertx.core.Handler)
{
io.vertx.core.Handler v;
io.vertx.core.Future v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: io.vertx.core.Handler;
v = virtualinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.Future close()>();
if v == null goto label;
interfaceinvoke v.<io.vertx.core.Future: io.vertx.core.Future onComplete(io.vertx.core.Handler)>(v);
label:
return;
}
public io.vertx.core.Future close(short)
{
short v;
java.lang.String v;
io.vertx.core.Future v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: short;
v = null;
v = virtualinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.Future close(short,java.lang.String)>(v, v);
return v;
}
public void close(short, io.vertx.core.Handler)
{
short v;
java.lang.String v;
io.vertx.core.Handler v;
io.vertx.core.Future v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: short;
v := @parameter: io.vertx.core.Handler;
v = null;
v = virtualinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.Future close(short,java.lang.String)>(v, v);
if v == null goto label;
interfaceinvoke v.<io.vertx.core.Future: io.vertx.core.Future onComplete(io.vertx.core.Handler)>(v);
label:
return;
}
public void close(short, java.lang.String, io.vertx.core.Handler)
{
short v;
java.lang.String v;
io.vertx.core.Handler v;
io.vertx.core.Future v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: short;
v := @parameter: java.lang.String;
v := @parameter: io.vertx.core.Handler;
v = virtualinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.Future close(short,java.lang.String)>(v, v);
if v == null goto label;
interfaceinvoke v.<io.vertx.core.Future: io.vertx.core.Future onComplete(io.vertx.core.Handler)>(v);
label:
return;
}
public io.vertx.core.Future close(short, java.lang.String)
{
java.lang.Throwable v;
io.vertx.core.impl.ContextInternal v, v;
short v;
io.netty.buffer.ByteBuf v;
java.lang.Short v, v;
io.netty.handler.codec.http.websocketx.CloseWebSocketFrame v;
java.lang.String v;
io.vertx.core.http.impl.Http1xConnectionBase v, v;
io.vertx.core.http.impl.WebSocketImplBase v;
boolean v, v;
io.vertx.core.impl.future.PromiseInternal v;
io.vertx.core.Future v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: short;
v := @parameter: java.lang.String;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
entermonitor v;
label:
v = v.<io.vertx.core.http.impl.WebSocketImplBase: java.lang.Short closeStatusCode>;
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
if v == 0 goto label;
v = staticinvoke <java.lang.Short: java.lang.Short valueOf(short)>(v);
v.<io.vertx.core.http.impl.WebSocketImplBase: java.lang.Short closeStatusCode> = v;
v.<io.vertx.core.http.impl.WebSocketImplBase: java.lang.String closeReason> = v;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
if v == 0 goto label;
v = staticinvoke <io.vertx.core.http.impl.HttpUtils: io.netty.buffer.ByteBuf generateWSCloseFrameByteBuf(short,java.lang.String)>(v, v);
v = new io.netty.handler.codec.http.websocketx.CloseWebSocketFrame;
specialinvoke v.<io.netty.handler.codec.http.websocketx.CloseWebSocketFrame: void <init>(boolean,int,io.netty.buffer.ByteBuf)>(1, 0, v);
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.impl.ContextInternal context>;
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: io.vertx.core.impl.future.PromiseInternal promise()>();
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
virtualinvoke v.<io.vertx.core.http.impl.Http1xConnectionBase: void writeToChannel(java.lang.Object,io.netty.util.concurrent.FutureListener)>(v, v);
return v;
label:
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.impl.ContextInternal context>;
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: io.vertx.core.Future succeededFuture()>();
return v;
catch java.lang.Throwable from label to label with label;
}
public boolean isSsl()
{
io.vertx.core.http.impl.Http1xConnectionBase v;
io.vertx.core.http.impl.WebSocketImplBase v;
boolean v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xConnectionBase: boolean isSsl()>();
return v;
}
public javax.net.ssl.SSLSession sslSession()
{
javax.net.ssl.SSLSession v;
io.vertx.core.http.impl.Http1xConnectionBase v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xConnectionBase: javax.net.ssl.SSLSession sslSession()>();
return v;
}
public javax.security.cert.X509Certificate[] peerCertificateChain() throws javax.net.ssl.SSLPeerUnverifiedException
{
javax.security.cert.X509Certificate[] v;
io.vertx.core.http.impl.Http1xConnectionBase v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xConnectionBase: javax.security.cert.X509Certificate[] peerCertificateChain()>();
return v;
}
public java.util.List peerCertificates() throws javax.net.ssl.SSLPeerUnverifiedException
{
java.util.List v;
io.vertx.core.http.impl.Http1xConnectionBase v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xConnectionBase: java.util.List peerCertificates()>();
return v;
}
public io.vertx.core.net.SocketAddress localAddress()
{
io.vertx.core.http.impl.Http1xConnectionBase v;
io.vertx.core.http.impl.WebSocketImplBase v;
io.vertx.core.net.SocketAddress v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xConnectionBase: io.vertx.core.net.SocketAddress localAddress()>();
return v;
}
public io.vertx.core.net.SocketAddress remoteAddress()
{
io.vertx.core.http.impl.Http1xConnectionBase v;
io.vertx.core.http.impl.WebSocketImplBase v;
io.vertx.core.net.SocketAddress v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xConnectionBase: io.vertx.core.net.SocketAddress remoteAddress()>();
return v;
}
public io.vertx.core.Future writeFinalTextFrame(java.lang.String)
{
io.vertx.core.impl.future.PromiseInternal v;
io.vertx.core.impl.ContextInternal v;
java.lang.String v;
io.vertx.core.Future v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: java.lang.String;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.impl.ContextInternal context>;
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: io.vertx.core.impl.future.PromiseInternal promise()>();
virtualinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.WebSocketBase writeFinalTextFrame(java.lang.String,io.vertx.core.Handler)>(v, v);
v = interfaceinvoke v.<io.vertx.core.Promise: io.vertx.core.Future future()>();
return v;
}
public io.vertx.core.http.WebSocketBase writeFinalTextFrame(java.lang.String, io.vertx.core.Handler)
{
io.vertx.core.http.WebSocketBase v;
java.lang.String v;
io.vertx.core.Handler v;
io.vertx.core.http.WebSocketFrame v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: java.lang.String;
v := @parameter: io.vertx.core.Handler;
v = staticinvoke <io.vertx.core.http.WebSocketFrame: io.vertx.core.http.WebSocketFrame textFrame(java.lang.String,boolean)>(v, 1);
v = virtualinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.WebSocketBase writeFrame(io.vertx.core.http.WebSocketFrame,io.vertx.core.Handler)>(v, v);
return v;
}
public io.vertx.core.Future writeFinalBinaryFrame(io.vertx.core.buffer.Buffer)
{
io.vertx.core.impl.future.PromiseInternal v;
io.vertx.core.buffer.Buffer v;
io.vertx.core.impl.ContextInternal v;
io.vertx.core.Future v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: io.vertx.core.buffer.Buffer;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.impl.ContextInternal context>;
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: io.vertx.core.impl.future.PromiseInternal promise()>();
virtualinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.WebSocketBase writeFinalBinaryFrame(io.vertx.core.buffer.Buffer,io.vertx.core.Handler)>(v, v);
v = interfaceinvoke v.<io.vertx.core.Promise: io.vertx.core.Future future()>();
return v;
}
public io.vertx.core.http.WebSocketBase writeFinalBinaryFrame(io.vertx.core.buffer.Buffer, io.vertx.core.Handler)
{
io.vertx.core.buffer.Buffer v;
io.vertx.core.http.WebSocketBase v;
io.vertx.core.Handler v;
io.vertx.core.http.WebSocketFrame v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: io.vertx.core.buffer.Buffer;
v := @parameter: io.vertx.core.Handler;
v = staticinvoke <io.vertx.core.http.WebSocketFrame: io.vertx.core.http.WebSocketFrame binaryFrame(io.vertx.core.buffer.Buffer,boolean)>(v, 1);
v = virtualinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.WebSocketBase writeFrame(io.vertx.core.http.WebSocketFrame,io.vertx.core.Handler)>(v, v);
return v;
}
public java.lang.String subProtocol()
{
java.lang.Throwable v;
java.lang.String v;
io.vertx.core.http.impl.Http1xConnectionBase v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
entermonitor v;
label:
v = v.<io.vertx.core.http.impl.WebSocketImplBase: java.lang.String subProtocol>;
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
void subProtocol(java.lang.String)
{
java.lang.Throwable v;
java.lang.String v;
io.vertx.core.http.impl.Http1xConnectionBase v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: java.lang.String;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
entermonitor v;
label:
v.<io.vertx.core.http.impl.WebSocketImplBase: java.lang.String subProtocol> = v;
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public java.lang.Short closeStatusCode()
{
java.lang.Throwable v;
java.lang.Short v;
io.vertx.core.http.impl.Http1xConnectionBase v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
entermonitor v;
label:
v = v.<io.vertx.core.http.impl.WebSocketImplBase: java.lang.Short closeStatusCode>;
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public java.lang.String closeReason()
{
java.lang.Throwable v;
java.lang.String v;
io.vertx.core.http.impl.Http1xConnectionBase v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
entermonitor v;
label:
v = v.<io.vertx.core.http.impl.WebSocketImplBase: java.lang.String closeReason>;
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public io.vertx.core.MultiMap headers()
{
java.lang.Throwable v;
io.vertx.core.MultiMap v;
io.vertx.core.http.impl.Http1xConnectionBase v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
entermonitor v;
label:
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.MultiMap headers>;
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
void headers(io.vertx.core.MultiMap)
{
java.lang.Throwable v;
io.vertx.core.MultiMap v;
io.vertx.core.http.impl.Http1xConnectionBase v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: io.vertx.core.MultiMap;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
entermonitor v;
label:
v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.MultiMap headers> = v;
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public io.vertx.core.Future writeBinaryMessage(io.vertx.core.buffer.Buffer)
{
io.vertx.core.buffer.Buffer v;
io.vertx.core.http.WebSocketFrameType v;
io.vertx.core.Future v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: io.vertx.core.buffer.Buffer;
v = <io.vertx.core.http.WebSocketFrameType: io.vertx.core.http.WebSocketFrameType BINARY>;
v = specialinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.Future writePartialMessage(io.vertx.core.http.WebSocketFrameType,io.vertx.core.buffer.Buffer,int)>(v, v, 0);
return v;
}
public final io.vertx.core.http.WebSocketBase writeBinaryMessage(io.vertx.core.buffer.Buffer, io.vertx.core.Handler)
{
io.vertx.core.buffer.Buffer v;
io.vertx.core.Handler v;
io.vertx.core.Future v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: io.vertx.core.buffer.Buffer;
v := @parameter: io.vertx.core.Handler;
v = virtualinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.Future writeBinaryMessage(io.vertx.core.buffer.Buffer)>(v);
if v == null goto label;
interfaceinvoke v.<io.vertx.core.Future: io.vertx.core.Future onComplete(io.vertx.core.Handler)>(v);
label:
return v;
}
public io.vertx.core.Future writeTextMessage(java.lang.String)
{
io.vertx.core.buffer.Buffer v;
io.vertx.core.http.WebSocketFrameType v;
java.lang.String v;
io.vertx.core.Future v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: java.lang.String;
v = <io.vertx.core.http.WebSocketFrameType: io.vertx.core.http.WebSocketFrameType TEXT>;
v = staticinvoke <io.vertx.core.buffer.Buffer: io.vertx.core.buffer.Buffer buffer(java.lang.String)>(v);
v = specialinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.Future writePartialMessage(io.vertx.core.http.WebSocketFrameType,io.vertx.core.buffer.Buffer,int)>(v, v, 0);
return v;
}
public final io.vertx.core.http.WebSocketBase writeTextMessage(java.lang.String, io.vertx.core.Handler)
{
java.lang.String v;
io.vertx.core.Handler v;
io.vertx.core.Future v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: java.lang.String;
v := @parameter: io.vertx.core.Handler;
v = virtualinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.Future writeTextMessage(java.lang.String)>(v);
if v == null goto label;
interfaceinvoke v.<io.vertx.core.Future: io.vertx.core.Future onComplete(io.vertx.core.Handler)>(v);
label:
return v;
}
public io.vertx.core.Future write(io.vertx.core.buffer.Buffer)
{
io.vertx.core.buffer.Buffer v;
io.vertx.core.Future v;
io.vertx.core.http.WebSocketFrame v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: io.vertx.core.buffer.Buffer;
v = staticinvoke <io.vertx.core.http.WebSocketFrame: io.vertx.core.http.WebSocketFrame binaryFrame(io.vertx.core.buffer.Buffer,boolean)>(v, 1);
v = virtualinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.Future writeFrame(io.vertx.core.http.WebSocketFrame)>(v);
return v;
}
public final void write(io.vertx.core.buffer.Buffer, io.vertx.core.Handler)
{
io.vertx.core.buffer.Buffer v;
io.vertx.core.Handler v;
io.vertx.core.Future v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: io.vertx.core.buffer.Buffer;
v := @parameter: io.vertx.core.Handler;
v = virtualinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.Future write(io.vertx.core.buffer.Buffer)>(v);
if v == null goto label;
interfaceinvoke v.<io.vertx.core.Future: io.vertx.core.Future onComplete(io.vertx.core.Handler)>(v);
label:
return;
}
public io.vertx.core.Future writePing(io.vertx.core.buffer.Buffer)
{
io.vertx.core.impl.ContextInternal v;
io.vertx.core.Future v, v;
io.vertx.core.buffer.Buffer v;
int v, v, v;
io.vertx.core.http.WebSocketFrame v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: io.vertx.core.buffer.Buffer;
v = interfaceinvoke v.<io.vertx.core.buffer.Buffer: int length()>();
v = v.<io.vertx.core.http.impl.WebSocketImplBase: int maxWebSocketFrameSize>;
if v > v goto label;
v = interfaceinvoke v.<io.vertx.core.buffer.Buffer: int length()>();
if v <= 125 goto label;
label:
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.impl.ContextInternal context>;
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: io.vertx.core.Future failedFuture(java.lang.String)>("Ping cannot exceed maxWebSocketFrameSize or 125 bytes");
return v;
label:
v = staticinvoke <io.vertx.core.http.WebSocketFrame: io.vertx.core.http.WebSocketFrame pingFrame(io.vertx.core.buffer.Buffer)>(v);
v = virtualinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.Future writeFrame(io.vertx.core.http.WebSocketFrame)>(v);
return v;
}
public final io.vertx.core.http.WebSocketBase writePing(io.vertx.core.buffer.Buffer, io.vertx.core.Handler)
{
io.vertx.core.buffer.Buffer v;
io.vertx.core.Handler v;
io.vertx.core.Future v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: io.vertx.core.buffer.Buffer;
v := @parameter: io.vertx.core.Handler;
v = virtualinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.Future writePing(io.vertx.core.buffer.Buffer)>(v);
if v == null goto label;
interfaceinvoke v.<io.vertx.core.Future: io.vertx.core.Future onComplete(io.vertx.core.Handler)>(v);
label:
return v;
}
public io.vertx.core.Future writePong(io.vertx.core.buffer.Buffer)
{
io.vertx.core.impl.ContextInternal v;
io.vertx.core.Future v, v;
io.vertx.core.buffer.Buffer v;
int v, v, v;
io.vertx.core.http.WebSocketFrame v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: io.vertx.core.buffer.Buffer;
v = interfaceinvoke v.<io.vertx.core.buffer.Buffer: int length()>();
v = v.<io.vertx.core.http.impl.WebSocketImplBase: int maxWebSocketFrameSize>;
if v > v goto label;
v = interfaceinvoke v.<io.vertx.core.buffer.Buffer: int length()>();
if v <= 125 goto label;
label:
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.impl.ContextInternal context>;
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: io.vertx.core.Future failedFuture(java.lang.String)>("Pong cannot exceed maxWebSocketFrameSize or 125 bytes");
return v;
label:
v = staticinvoke <io.vertx.core.http.WebSocketFrame: io.vertx.core.http.WebSocketFrame pongFrame(io.vertx.core.buffer.Buffer)>(v);
v = virtualinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.Future writeFrame(io.vertx.core.http.WebSocketFrame)>(v);
return v;
}
public final io.vertx.core.http.WebSocketBase writePong(io.vertx.core.buffer.Buffer, io.vertx.core.Handler)
{
io.vertx.core.buffer.Buffer v;
io.vertx.core.Handler v;
io.vertx.core.Future v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: io.vertx.core.buffer.Buffer;
v := @parameter: io.vertx.core.Handler;
v = virtualinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.Future writePong(io.vertx.core.buffer.Buffer)>(v);
if v == null goto label;
interfaceinvoke v.<io.vertx.core.Future: io.vertx.core.Future onComplete(io.vertx.core.Handler)>(v);
label:
return v;
}
private io.vertx.core.Future writePartialMessage(io.vertx.core.http.WebSocketFrameType, io.vertx.core.buffer.Buffer, int)
{
io.netty.buffer.ByteBuf v;
int v, v, v, v, v, v;
io.vertx.core.http.impl.ws.WebSocketFrameImpl v;
io.vertx.core.http.impl.WebSocketImplBase v;
boolean v, v;
io.vertx.core.http.WebSocketFrameType v;
io.vertx.core.Future v, v;
io.vertx.core.buffer.Buffer v, v;
io.vertx.core.http.WebSocketFrame v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: io.vertx.core.http.WebSocketFrameType;
v := @parameter: io.vertx.core.buffer.Buffer;
v := @parameter: int;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: int maxWebSocketFrameSize>;
v = v + v;
v = interfaceinvoke v.<io.vertx.core.buffer.Buffer: int length()>();
if v < v goto label;
v = interfaceinvoke v.<io.vertx.core.buffer.Buffer: int length()>();
v = 1;
goto label;
label:
v = 0;
label:
v = interfaceinvoke v.<io.vertx.core.buffer.Buffer: io.vertx.core.buffer.Buffer slice(int,int)>(v, v);
if v == 0 goto label;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: boolean supportsContinuation>;
if v != 0 goto label;
label:
v = new io.vertx.core.http.impl.ws.WebSocketFrameImpl;
v = interfaceinvoke v.<io.vertx.core.buffer.Buffer: io.netty.buffer.ByteBuf getByteBuf()>();
specialinvoke v.<io.vertx.core.http.impl.ws.WebSocketFrameImpl: void <init>(io.vertx.core.http.WebSocketFrameType,io.netty.buffer.ByteBuf,boolean)>(v, v, v);
v = v;
goto label;
label:
v = staticinvoke <io.vertx.core.http.WebSocketFrame: io.vertx.core.http.WebSocketFrame continuationFrame(io.vertx.core.buffer.Buffer,boolean)>(v, v);
label:
v = v.<io.vertx.core.http.impl.WebSocketImplBase: int maxWebSocketFrameSize>;
v = v + v;
if v == 0 goto label;
v = virtualinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.Future writeFrame(io.vertx.core.http.WebSocketFrame)>(v);
return v;
label:
virtualinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.Future writeFrame(io.vertx.core.http.WebSocketFrame)>(v);
v = specialinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.Future writePartialMessage(io.vertx.core.http.WebSocketFrameType,io.vertx.core.buffer.Buffer,int)>(v, v, v);
return v;
}
public io.vertx.core.Future writeFrame(io.vertx.core.http.WebSocketFrame)
{
java.lang.Throwable v;
io.vertx.core.impl.future.PromiseInternal v;
io.netty.handler.codec.http.websocketx.WebSocketFrame v;
io.vertx.core.impl.ContextInternal v, v;
io.vertx.core.Future v, v;
io.vertx.core.http.impl.Http1xConnectionBase v, v;
io.vertx.core.http.WebSocketFrame v;
io.vertx.core.http.impl.WebSocketImplBase v;
boolean v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: io.vertx.core.http.WebSocketFrame;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
entermonitor v;
label:
v = virtualinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: boolean isClosed()>();
if v == 0 goto label;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.impl.ContextInternal context>;
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: io.vertx.core.Future failedFuture(java.lang.String)>("WebSocket is closed");
exitmonitor v;
label:
return v;
label:
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.impl.ContextInternal context>;
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: io.vertx.core.impl.future.PromiseInternal promise()>();
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
v = specialinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: io.netty.handler.codec.http.websocketx.WebSocketFrame encodeFrame(io.vertx.core.http.impl.ws.WebSocketFrameImpl)>(v);
virtualinvoke v.<io.vertx.core.http.impl.Http1xConnectionBase: void writeToChannel(java.lang.Object,io.netty.util.concurrent.FutureListener)>(v, v);
v = interfaceinvoke v.<io.vertx.core.impl.future.PromiseInternal: io.vertx.core.Future future()>();
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public final io.vertx.core.http.WebSocketBase writeFrame(io.vertx.core.http.WebSocketFrame, io.vertx.core.Handler)
{
io.vertx.core.Handler v;
io.vertx.core.Future v;
io.vertx.core.http.WebSocketFrame v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: io.vertx.core.http.WebSocketFrame;
v := @parameter: io.vertx.core.Handler;
v = virtualinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.Future writeFrame(io.vertx.core.http.WebSocketFrame)>(v);
if v == null goto label;
interfaceinvoke v.<io.vertx.core.Future: io.vertx.core.Future onComplete(io.vertx.core.Handler)>(v);
label:
return v;
}
private void writeBinaryFrameInternal(io.vertx.core.buffer.Buffer)
{
io.netty.buffer.ByteBuf v;
io.vertx.core.buffer.Buffer v;
io.vertx.core.http.WebSocketFrameType v;
io.vertx.core.http.impl.ws.WebSocketFrameImpl v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: io.vertx.core.buffer.Buffer;
v = new io.vertx.core.http.impl.ws.WebSocketFrameImpl;
v = <io.vertx.core.http.WebSocketFrameType: io.vertx.core.http.WebSocketFrameType BINARY>;
v = interfaceinvoke v.<io.vertx.core.buffer.Buffer: io.netty.buffer.ByteBuf getByteBuf()>();
specialinvoke v.<io.vertx.core.http.impl.ws.WebSocketFrameImpl: void <init>(io.vertx.core.http.WebSocketFrameType,io.netty.buffer.ByteBuf)>(v, v);
virtualinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.Future writeFrame(io.vertx.core.http.WebSocketFrame)>(v);
return;
}
private void writeTextFrameInternal(java.lang.String)
{
io.vertx.core.http.impl.ws.WebSocketFrameImpl v;
java.lang.String v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: java.lang.String;
v = new io.vertx.core.http.impl.ws.WebSocketFrameImpl;
specialinvoke v.<io.vertx.core.http.impl.ws.WebSocketFrameImpl: void <init>(java.lang.String)>(v);
virtualinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.Future writeFrame(io.vertx.core.http.WebSocketFrame)>(v);
return;
}
private io.netty.handler.codec.http.websocketx.WebSocketFrame encodeFrame(io.vertx.core.http.impl.ws.WebSocketFrameImpl)
{
java.lang.IllegalStateException v;
io.netty.buffer.ByteBuf v, v;
int[] v;
io.netty.handler.codec.http.websocketx.PongWebSocketFrame v;
int v, v;
io.netty.handler.codec.http.websocketx.CloseWebSocketFrame v;
io.vertx.core.http.impl.ws.WebSocketFrameImpl v;
java.lang.String v;
io.vertx.core.http.impl.WebSocketImplBase v;
boolean v, v, v;
io.vertx.core.http.WebSocketFrameType v;
io.netty.handler.codec.http.websocketx.ContinuationWebSocketFrame v;
io.netty.handler.codec.http.websocketx.PingWebSocketFrame v;
io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame v;
io.netty.handler.codec.http.websocketx.TextWebSocketFrame v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: io.vertx.core.http.impl.ws.WebSocketFrameImpl;
v = virtualinvoke v.<io.vertx.core.http.impl.ws.WebSocketFrameImpl: io.netty.buffer.ByteBuf getBinaryData()>();
v = staticinvoke <io.vertx.core.net.impl.VertxHandler: io.netty.buffer.ByteBuf safeBuffer(io.netty.buffer.ByteBuf)>(v);
v = <io.vertx.core.http.impl.WebSocketImplBase$1: int[] $SwitchMap$io$vertx$core$http$WebSocketFrameType>;
v = virtualinvoke v.<io.vertx.core.http.impl.ws.WebSocketFrameImpl: io.vertx.core.http.WebSocketFrameType type()>();
v = virtualinvoke v.<io.vertx.core.http.WebSocketFrameType: int ordinal()>();
v = v[v];
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
case 4: goto label;
case 5: goto label;
case 6: goto label;
default: goto label;
};
label:
v = new io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame;
v = virtualinvoke v.<io.vertx.core.http.impl.ws.WebSocketFrameImpl: boolean isFinal()>();
specialinvoke v.<io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame: void <init>(boolean,int,io.netty.buffer.ByteBuf)>(v, 0, v);
return v;
label:
v = new io.netty.handler.codec.http.websocketx.TextWebSocketFrame;
v = virtualinvoke v.<io.vertx.core.http.impl.ws.WebSocketFrameImpl: boolean isFinal()>();
specialinvoke v.<io.netty.handler.codec.http.websocketx.TextWebSocketFrame: void <init>(boolean,int,io.netty.buffer.ByteBuf)>(v, 0, v);
return v;
label:
v = new io.netty.handler.codec.http.websocketx.CloseWebSocketFrame;
specialinvoke v.<io.netty.handler.codec.http.websocketx.CloseWebSocketFrame: void <init>(boolean,int,io.netty.buffer.ByteBuf)>(1, 0, v);
return v;
label:
v = new io.netty.handler.codec.http.websocketx.ContinuationWebSocketFrame;
v = virtualinvoke v.<io.vertx.core.http.impl.ws.WebSocketFrameImpl: boolean isFinal()>();
specialinvoke v.<io.netty.handler.codec.http.websocketx.ContinuationWebSocketFrame: void <init>(boolean,int,io.netty.buffer.ByteBuf)>(v, 0, v);
return v;
label:
v = new io.netty.handler.codec.http.websocketx.PongWebSocketFrame;
specialinvoke v.<io.netty.handler.codec.http.websocketx.PongWebSocketFrame: void <init>(io.netty.buffer.ByteBuf)>(v);
return v;
label:
v = new io.netty.handler.codec.http.websocketx.PingWebSocketFrame;
specialinvoke v.<io.netty.handler.codec.http.websocketx.PingWebSocketFrame: void <init>(io.netty.buffer.ByteBuf)>(v);
return v;
label:
v = new java.lang.IllegalStateException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (io.vertx.core.http.impl.ws.WebSocketFrameImpl)>(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[])>("Unsupported WebSocket msg \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
}
void checkClosed()
{
java.lang.IllegalStateException v;
io.vertx.core.http.impl.WebSocketImplBase v;
boolean v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v = virtualinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: boolean isClosed()>();
if v == 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("WebSocket is closed");
throw v;
label:
return;
}
public boolean isClosed()
{
java.lang.Throwable v;
java.lang.Short v;
io.vertx.core.http.impl.Http1xConnectionBase v;
io.vertx.core.http.impl.WebSocketImplBase v;
boolean v, v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
entermonitor v;
label:
v = v.<io.vertx.core.http.impl.WebSocketImplBase: boolean closed>;
if v != 0 goto label;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: java.lang.Short closeStatusCode>;
if v == null goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
void handleFrame(io.vertx.core.http.impl.ws.WebSocketFrameInternal)
{
io.vertx.core.streams.impl.InboundBuffer v;
io.vertx.core.impl.ContextInternal v;
io.netty.buffer.ByteBuf v, v;
int[] v;
io.netty.handler.codec.http.websocketx.PongWebSocketFrame v;
int v, v;
io.vertx.core.http.impl.Http1xConnectionBase v, v;
io.vertx.core.http.impl.WebSocketImplBase v;
boolean v;
io.vertx.core.http.WebSocketFrameType v;
io.vertx.core.buffer.Buffer v;
io.vertx.core.http.impl.ws.WebSocketFrameInternal v;
io.vertx.core.Handler v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: io.vertx.core.http.impl.ws.WebSocketFrameInternal;
v = <io.vertx.core.http.impl.WebSocketImplBase$1: int[] $SwitchMap$io$vertx$core$http$WebSocketFrameType>;
v = interfaceinvoke v.<io.vertx.core.http.impl.ws.WebSocketFrameInternal: io.vertx.core.http.WebSocketFrameType type()>();
v = virtualinvoke v.<io.vertx.core.http.WebSocketFrameType: int ordinal()>();
v = v[v];
tableswitch(v)
{
case 3: goto label;
case 4: goto label;
case 5: goto label;
case 6: goto label;
default: goto label;
};
label:
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
v = new io.netty.handler.codec.http.websocketx.PongWebSocketFrame;
v = interfaceinvoke v.<io.vertx.core.http.impl.ws.WebSocketFrameInternal: io.netty.buffer.ByteBuf getBinaryData()>();
v = virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf copy()>();
specialinvoke v.<io.netty.handler.codec.http.websocketx.PongWebSocketFrame: void <init>(io.netty.buffer.ByteBuf)>(v);
virtualinvoke v.<io.vertx.core.http.impl.Http1xConnectionBase: void writeToChannel(java.lang.Object)>(v);
goto label;
label:
v = specialinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.Handler pongHandler()>();
if v == null goto label;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.impl.ContextInternal context>;
v = interfaceinvoke v.<io.vertx.core.http.impl.ws.WebSocketFrameInternal: io.vertx.core.buffer.Buffer binaryData()>();
interfaceinvoke v.<io.vertx.core.impl.ContextInternal: void dispatch(java.lang.Object,io.vertx.core.Handler)>(v, v);
goto label;
label:
specialinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: void handleCloseFrame(io.vertx.core.http.impl.ws.WebSocketFrameInternal)>(v);
label:
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.streams.impl.InboundBuffer pending>;
v = virtualinvoke v.<io.vertx.core.streams.impl.InboundBuffer: boolean write(java.lang.Object)>(v);
if v != 0 goto label;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
virtualinvoke v.<io.vertx.core.http.impl.Http1xConnectionBase: void doPause()>();
label:
return;
}
private void handleCloseFrame(io.vertx.core.http.impl.ws.WebSocketFrameInternal)
{
java.lang.Throwable v;
short v, v;
io.netty.channel.ChannelPromise v;
java.lang.Short v, v, v;
io.netty.handler.codec.http.websocketx.CloseWebSocketFrame v;
java.lang.String v, v;
io.vertx.core.http.impl.Http1xConnectionBase v, v, v;
io.vertx.core.http.impl.WebSocketImplBase v;
boolean v;
io.netty.util.concurrent.GenericFutureListener v;
io.vertx.core.http.impl.ws.WebSocketFrameInternal v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: io.vertx.core.http.impl.ws.WebSocketFrameInternal;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
entermonitor v;
label:
v = v.<io.vertx.core.http.impl.WebSocketImplBase: java.lang.Short closeStatusCode>;
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v.<io.vertx.core.http.impl.WebSocketImplBase: boolean closed> = 1;
v = interfaceinvoke v.<io.vertx.core.http.impl.ws.WebSocketFrameInternal: short closeStatusCode()>();
v = staticinvoke <java.lang.Short: java.lang.Short valueOf(short)>(v);
v.<io.vertx.core.http.impl.WebSocketImplBase: java.lang.Short closeStatusCode> = v;
v = interfaceinvoke v.<io.vertx.core.http.impl.ws.WebSocketFrameInternal: java.lang.String closeReason()>();
v.<io.vertx.core.http.impl.WebSocketImplBase: java.lang.String closeReason> = v;
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
virtualinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: void handleClose(boolean)>(1);
if v == 0 goto label;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xConnectionBase: io.netty.channel.ChannelPromise channelFuture()>();
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
v = new io.netty.handler.codec.http.websocketx.CloseWebSocketFrame;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: java.lang.Short closeStatusCode>;
v = virtualinvoke v.<java.lang.Short: short shortValue()>();
v = v.<io.vertx.core.http.impl.WebSocketImplBase: java.lang.String closeReason>;
specialinvoke v.<io.netty.handler.codec.http.websocketx.CloseWebSocketFrame: void <init>(int,java.lang.String)>(v, v);
virtualinvoke v.<io.vertx.core.http.impl.Http1xConnectionBase: void writeToChannel(java.lang.Object,io.netty.channel.ChannelPromise)>(v, v);
v = staticinvoke <io.vertx.core.http.impl.WebSocketImplBase$lambda_handleCloseFrame_3__1418: io.netty.util.concurrent.GenericFutureListener bootstrap$(io.vertx.core.http.impl.WebSocketImplBase)>(v);
interfaceinvoke v.<io.netty.channel.ChannelPromise: io.netty.channel.ChannelPromise addListener(io.netty.util.concurrent.GenericFutureListener)>(v);
goto label;
label:
virtualinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: void handleCloseConnection()>();
label:
return;
catch java.lang.Throwable from label to label with label;
}
protected void handleClose(boolean)
{
java.lang.Throwable v;
io.vertx.core.impl.ContextInternal v, v;
io.vertx.core.http.HttpClosedException v;
io.vertx.core.Handler v, v;
io.vertx.core.eventbus.MessageConsumer v, v;
io.vertx.core.http.impl.Http1xConnectionBase v;
io.vertx.core.http.impl.WebSocketImplBase v;
boolean v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: boolean;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
entermonitor v;
label:
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.Handler closeHandler>;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.Handler exceptionHandler>;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.eventbus.MessageConsumer binaryHandlerRegistration>;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.eventbus.MessageConsumer textHandlerRegistration>;
v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.eventbus.MessageConsumer binaryHandlerRegistration> = null;
v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.eventbus.MessageConsumer textHandlerRegistration> = null;
v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.Handler closeHandler> = null;
v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.Handler exceptionHandler> = null;
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
if v == null goto label;
interfaceinvoke v.<io.vertx.core.eventbus.MessageConsumer: io.vertx.core.Future unregister()>();
label:
if v == null goto label;
interfaceinvoke v.<io.vertx.core.eventbus.MessageConsumer: io.vertx.core.Future unregister()>();
label:
if v == null goto label;
if v != 0 goto label;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.impl.ContextInternal context>;
v = <io.vertx.core.http.impl.HttpUtils: io.vertx.core.http.HttpClosedException CONNECTION_CLOSED_EXCEPTION>;
interfaceinvoke v.<io.vertx.core.impl.ContextInternal: void dispatch(java.lang.Object,io.vertx.core.Handler)>(v, v);
label:
if v == null goto label;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.impl.ContextInternal context>;
interfaceinvoke v.<io.vertx.core.impl.ContextInternal: void dispatch(java.lang.Object,io.vertx.core.Handler)>(null, v);
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void receiveFrame(io.vertx.core.http.impl.ws.WebSocketFrameInternal)
{
java.lang.Throwable v;
io.vertx.core.impl.ContextInternal v, v, v, v;
io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator v;
int[] v;
int v, v;
io.vertx.core.http.impl.Http1xConnectionBase v;
io.vertx.core.http.impl.WebSocketImplBase v;
io.vertx.core.http.WebSocketFrameType v;
io.vertx.core.buffer.Buffer v;
io.vertx.core.http.impl.ws.WebSocketFrameInternal v;
io.vertx.core.Handler v, v, v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: io.vertx.core.http.impl.ws.WebSocketFrameInternal;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
entermonitor v;
label:
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.Handler frameHandler>;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator frameAggregator>;
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
if v == null goto label;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: 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:
if v == null goto label;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: 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:
v = <io.vertx.core.http.impl.WebSocketImplBase$1: int[] $SwitchMap$io$vertx$core$http$WebSocketFrameType>;
v = interfaceinvoke v.<io.vertx.core.http.impl.ws.WebSocketFrameInternal: io.vertx.core.http.WebSocketFrameType type()>();
v = virtualinvoke v.<io.vertx.core.http.WebSocketFrameType: int ordinal()>();
v = v[v];
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
case 4: goto label;
case 5: goto label;
case 6: goto label;
default: goto label;
};
label:
v = specialinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.Handler endHandler()>();
if v == null goto label;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.impl.ContextInternal context>;
interfaceinvoke v.<io.vertx.core.impl.ContextInternal: void dispatch(io.vertx.core.Handler)>(v);
goto label;
label:
v = specialinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.Handler handler()>();
if v == null goto label;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.impl.ContextInternal context>;
v = interfaceinvoke v.<io.vertx.core.http.impl.ws.WebSocketFrameInternal: io.vertx.core.buffer.Buffer binaryData()>();
interfaceinvoke v.<io.vertx.core.impl.ContextInternal: void dispatch(java.lang.Object,io.vertx.core.Handler)>(v, v);
goto label;
label:
virtualinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.WebSocketBase fetch(long)>(1L);
label:
return;
catch java.lang.Throwable from label to label with label;
}
protected abstract void handleCloseConnection();
void closeConnection()
{
io.netty.channel.ChannelHandlerContext v;
io.vertx.core.http.impl.Http1xConnectionBase v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xConnectionBase: io.netty.channel.ChannelHandlerContext channelHandlerContext()>();
interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.ChannelFuture close()>();
return;
}
void initiateConnectionCloseTimeout(long)
{
java.lang.Throwable v;
io.vertx.core.impl.ContextInternal v;
long v, v;
io.vertx.core.Handler v;
io.vertx.core.http.impl.Http1xConnectionBase v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: long;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
entermonitor v;
label:
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.impl.ContextInternal context>;
v = staticinvoke <io.vertx.core.http.impl.WebSocketImplBase$lambda_initiateConnectionCloseTimeout_4__1419: io.vertx.core.Handler bootstrap$(io.vertx.core.http.impl.WebSocketImplBase)>(v);
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: long setTimer(long,io.vertx.core.Handler)>(v, v);
v.<io.vertx.core.http.impl.WebSocketImplBase: long closeTimeoutID> = v;
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public io.vertx.core.http.WebSocketBase frameHandler(io.vertx.core.Handler)
{
java.lang.Throwable v;
io.vertx.core.Handler v;
io.vertx.core.http.impl.Http1xConnectionBase v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: io.vertx.core.Handler;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
entermonitor v;
label:
virtualinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: void checkClosed()>();
v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.Handler frameHandler> = v;
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public io.vertx.core.http.WebSocketBase textMessageHandler(io.vertx.core.Handler)
{
java.lang.Throwable v;
io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator v, v, v, v, v, v, v;
io.vertx.core.Handler v, v;
io.vertx.core.http.impl.Http1xConnectionBase v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: io.vertx.core.Handler;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
entermonitor v;
label:
virtualinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: void checkClosed()>();
if v == null goto label;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator frameAggregator>;
if v != null goto label;
v = new io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator;
specialinvoke v.<io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator: void <init>(io.vertx.core.http.impl.WebSocketImplBase)>(v);
v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator frameAggregator> = v;
label:
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator frameAggregator>;
v.<io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator: io.vertx.core.Handler textMessageHandler> = v;
goto label;
label:
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator frameAggregator>;
if v == null goto label;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator frameAggregator>;
v = v.<io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator: io.vertx.core.Handler binaryMessageHandler>;
if v != null goto label;
v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator frameAggregator> = null;
goto label;
label:
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator frameAggregator>;
v.<io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator: io.vertx.core.Handler textMessageHandler> = null;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator frameAggregator>;
v.<io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator: io.vertx.core.buffer.Buffer textMessageBuffer> = null;
label:
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public io.vertx.core.http.WebSocketBase binaryMessageHandler(io.vertx.core.Handler)
{
java.lang.Throwable v;
io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator v, v, v, v, v, v, v;
io.vertx.core.Handler v, v;
io.vertx.core.http.impl.Http1xConnectionBase v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: io.vertx.core.Handler;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
entermonitor v;
label:
virtualinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: void checkClosed()>();
if v == null goto label;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator frameAggregator>;
if v != null goto label;
v = new io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator;
specialinvoke v.<io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator: void <init>(io.vertx.core.http.impl.WebSocketImplBase)>(v);
v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator frameAggregator> = v;
label:
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator frameAggregator>;
v.<io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator: io.vertx.core.Handler binaryMessageHandler> = v;
goto label;
label:
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator frameAggregator>;
if v == null goto label;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator frameAggregator>;
v = v.<io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator: io.vertx.core.Handler textMessageHandler>;
if v != null goto label;
v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator frameAggregator> = null;
goto label;
label:
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator frameAggregator>;
v.<io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator: io.vertx.core.Handler binaryMessageHandler> = null;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator frameAggregator>;
v.<io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator: io.vertx.core.buffer.Buffer binaryMessageBuffer> = null;
label:
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public io.vertx.core.http.WebSocketBase pongHandler(io.vertx.core.Handler)
{
java.lang.Throwable v;
io.vertx.core.Handler v;
io.vertx.core.http.impl.Http1xConnectionBase v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: io.vertx.core.Handler;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
entermonitor v;
label:
virtualinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: void checkClosed()>();
v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.Handler pongHandler> = v;
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
private io.vertx.core.Handler pongHandler()
{
java.lang.Throwable v;
io.vertx.core.Handler v;
io.vertx.core.http.impl.Http1xConnectionBase v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
entermonitor v;
label:
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.Handler pongHandler>;
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
void handleWritabilityChanged(boolean)
{
java.lang.Throwable v;
io.vertx.core.impl.ContextInternal v;
io.vertx.core.Handler v;
io.vertx.core.http.impl.Http1xConnectionBase v;
io.vertx.core.http.impl.WebSocketImplBase v;
boolean v, v, v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: boolean;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
entermonitor v;
label:
v = v.<io.vertx.core.http.impl.WebSocketImplBase: boolean writable>;
if v == 0 goto label;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v.<io.vertx.core.http.impl.WebSocketImplBase: boolean writable> = v;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.Handler drainHandler>;
if v == null goto label;
if v == 0 goto label;
label:
exitmonitor v;
label:
return;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.impl.ContextInternal context>;
interfaceinvoke v.<io.vertx.core.impl.ContextInternal: void dispatch(java.lang.Object,io.vertx.core.Handler)>(null, v);
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
void handleException(java.lang.Throwable)
{
java.lang.Throwable v, v;
io.vertx.core.impl.ContextInternal v;
io.vertx.core.Handler v;
io.vertx.core.http.impl.Http1xConnectionBase v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: java.lang.Throwable;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
entermonitor v;
label:
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.Handler exceptionHandler>;
if v != null goto label;
exitmonitor v;
label:
return;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.impl.ContextInternal context>;
interfaceinvoke v.<io.vertx.core.impl.ContextInternal: void dispatch(java.lang.Object,io.vertx.core.Handler)>(v, v);
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
void handleConnectionClosed()
{
java.lang.Throwable v;
io.vertx.core.impl.VertxInternal v;
io.vertx.core.impl.ContextInternal v;
long v, v;
byte v;
io.vertx.core.http.impl.Http1xConnectionBase v;
io.vertx.core.http.impl.WebSocketImplBase v;
boolean v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
entermonitor v;
label:
v = v.<io.vertx.core.http.impl.WebSocketImplBase: long closeTimeoutID>;
v = v cmp -1L;
if v == 0 goto label;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: 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.http.impl.WebSocketImplBase: long closeTimeoutID>;
interfaceinvoke v.<io.vertx.core.impl.VertxInternal: boolean cancelTimer(long)>(v);
label:
v = v.<io.vertx.core.http.impl.WebSocketImplBase: boolean closed>;
if v == 0 goto label;
exitmonitor v;
label:
return;
label:
v.<io.vertx.core.http.impl.WebSocketImplBase: boolean closed> = 1;
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
virtualinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: void handleClose(boolean)>(0);
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
synchronized void setMetric(java.lang.Object)
{
java.lang.Object v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: java.lang.Object;
v.<io.vertx.core.http.impl.WebSocketImplBase: java.lang.Object metric> = v;
return;
}
synchronized java.lang.Object getMetric()
{
java.lang.Object v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: java.lang.Object metric>;
return v;
}
public io.vertx.core.http.WebSocketBase handler(io.vertx.core.Handler)
{
java.lang.Throwable v;
io.vertx.core.Handler v;
io.vertx.core.http.impl.Http1xConnectionBase v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: io.vertx.core.Handler;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
entermonitor v;
label:
if v == null goto label;
virtualinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: void checkClosed()>();
label:
v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.Handler handler> = v;
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
private io.vertx.core.Handler handler()
{
java.lang.Throwable v;
io.vertx.core.Handler v;
io.vertx.core.http.impl.Http1xConnectionBase v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
entermonitor v;
label:
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.Handler handler>;
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public io.vertx.core.http.WebSocketBase endHandler(io.vertx.core.Handler)
{
java.lang.Throwable v;
io.vertx.core.Handler v;
io.vertx.core.http.impl.Http1xConnectionBase v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: io.vertx.core.Handler;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
entermonitor v;
label:
if v == null goto label;
virtualinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: void checkClosed()>();
label:
v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.Handler endHandler> = v;
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
private io.vertx.core.Handler endHandler()
{
java.lang.Throwable v;
io.vertx.core.Handler v;
io.vertx.core.http.impl.Http1xConnectionBase v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
entermonitor v;
label:
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.Handler endHandler>;
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public io.vertx.core.http.WebSocketBase exceptionHandler(io.vertx.core.Handler)
{
java.lang.Throwable v;
io.vertx.core.Handler v;
io.vertx.core.http.impl.Http1xConnectionBase v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: io.vertx.core.Handler;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
entermonitor v;
label:
if v == null goto label;
virtualinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: void checkClosed()>();
label:
v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.Handler exceptionHandler> = v;
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public io.vertx.core.http.WebSocketBase closeHandler(io.vertx.core.Handler)
{
java.lang.Throwable v;
io.vertx.core.Handler v;
io.vertx.core.http.impl.Http1xConnectionBase v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: io.vertx.core.Handler;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
entermonitor v;
label:
virtualinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: void checkClosed()>();
v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.Handler closeHandler> = v;
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public io.vertx.core.http.WebSocketBase drainHandler(io.vertx.core.Handler)
{
java.lang.Throwable v;
io.vertx.core.Handler v;
io.vertx.core.http.impl.Http1xConnectionBase v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: io.vertx.core.Handler;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
entermonitor v;
label:
virtualinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: void checkClosed()>();
v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.Handler drainHandler> = v;
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public io.vertx.core.http.WebSocketBase pause()
{
io.vertx.core.streams.impl.InboundBuffer v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.streams.impl.InboundBuffer pending>;
virtualinvoke v.<io.vertx.core.streams.impl.InboundBuffer: io.vertx.core.streams.impl.InboundBuffer pause()>();
return v;
}
public io.vertx.core.http.WebSocketBase resume()
{
io.vertx.core.streams.impl.InboundBuffer v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.streams.impl.InboundBuffer pending>;
virtualinvoke v.<io.vertx.core.streams.impl.InboundBuffer: boolean resume()>();
return v;
}
public io.vertx.core.http.WebSocketBase fetch(long)
{
long v;
io.vertx.core.streams.impl.InboundBuffer v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: long;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.streams.impl.InboundBuffer pending>;
virtualinvoke v.<io.vertx.core.streams.impl.InboundBuffer: boolean fetch(long)>(v);
return v;
}
public io.vertx.core.http.WebSocketBase setWriteQueueMaxSize(int)
{
java.lang.Throwable v;
int v;
io.vertx.core.http.impl.Http1xConnectionBase v, v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: int;
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
entermonitor v;
label:
virtualinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: void checkClosed()>();
v = v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.http.impl.Http1xConnectionBase conn>;
virtualinvoke v.<io.vertx.core.http.impl.Http1xConnectionBase: void doSetWriteQueueMaxSize(int)>(v);
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public io.vertx.core.Future end()
{
io.vertx.core.Future v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v = virtualinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: io.vertx.core.Future close()>();
return v;
}
public void end(io.vertx.core.Handler)
{
io.vertx.core.Handler v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.WebSocketImplBase;
v := @parameter: io.vertx.core.Handler;
virtualinvoke v.<io.vertx.core.http.impl.WebSocketImplBase: void close(io.vertx.core.Handler)>(v);
return;
}
}