abstract class io.vertx.core.http.impl.Http2ConnectionBase extends io.vertx.core.net.impl.ConnectionBase implements io.netty.handler.codec.http.Http2FrameListener, io.vertx.core.http.HttpConnection
{
private static final io.vertx.core.impl.logging.Logger log;
protected final io.netty.channel.ChannelHandlerContext handlerContext;
protected final io.vertx.core.http.impl.VertxHttp2ConnectionHandler handler;
protected final io.netty.handler.codec.http.Http2Connection$PropertyKey streamKey;
private boolean shutdown;
private io.vertx.core.Handler remoteSettingsHandler;
private final java.util.ArrayDeque updateSettingsHandlers;
private final java.util.ArrayDeque pongHandlers;
private io.netty.handler.codec.http.Http2Settings localSettings;
private io.netty.handler.codec.http.Http2Settings remoteSettings;
private io.vertx.core.Handler goAwayHandler;
private io.vertx.core.Handler shutdownHandler;
private io.vertx.core.Handler pingHandler;
private io.vertx.core.http.GoAway goAwayStatus;
private int windowSize;
private long maxConcurrentStreams;
private static io.netty.buffer.ByteBuf safeBuffer(io.netty.buffer.ByteBuf)
{
io.vertx.core.buffer.impl.VertxByteBufAllocator v;
io.netty.buffer.ByteBuf v, v;
int v;
v := @parameter: io.netty.buffer.ByteBuf;
v = <io.vertx.core.buffer.impl.VertxByteBufAllocator: io.vertx.core.buffer.impl.VertxByteBufAllocator DEFAULT>;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readableBytes()>();
v = virtualinvoke v.<io.vertx.core.buffer.impl.VertxByteBufAllocator: io.netty.buffer.ByteBuf heapBuffer(int)>(v);
virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf writeBytes(io.netty.buffer.ByteBuf)>(v);
return v;
}
public void <init>(io.vertx.core.impl.EventLoopContext, io.vertx.core.http.impl.VertxHttp2ConnectionHandler)
{
io.netty.channel.ChannelHandlerContext v, v;
int v;
io.netty.handler.codec.http.Http2Stream v;
io.vertx.core.http.impl.Http2ConnectionBase v;
io.netty.handler.codec.http.Http2Connection$Endpoint v;
io.vertx.core.http.impl.VertxHttp2ConnectionHandler v;
io.netty.handler.codec.http.Http2FlowController v;
io.netty.handler.codec.http.Http2Settings v;
io.vertx.core.impl.EventLoopContext v;
io.netty.handler.codec.http.Http2Connection v, v, v;
io.netty.handler.codec.http.Http2Connection$PropertyKey v;
java.util.ArrayDeque v, v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v := @parameter: io.vertx.core.impl.EventLoopContext;
v := @parameter: io.vertx.core.http.impl.VertxHttp2ConnectionHandler;
v = virtualinvoke v.<io.vertx.core.http.impl.VertxHttp2ConnectionHandler: io.netty.channel.ChannelHandlerContext context()>();
specialinvoke v.<io.vertx.core.net.impl.ConnectionBase: void <init>(io.vertx.core.impl.ContextInternal,io.netty.channel.ChannelHandlerContext)>(v, v);
v = new java.util.ArrayDeque;
specialinvoke v.<java.util.ArrayDeque: void <init>()>();
v.<io.vertx.core.http.impl.Http2ConnectionBase: java.util.ArrayDeque updateSettingsHandlers> = v;
v = new java.util.ArrayDeque;
specialinvoke v.<java.util.ArrayDeque: void <init>()>();
v.<io.vertx.core.http.impl.Http2ConnectionBase: java.util.ArrayDeque pongHandlers> = v;
v.<io.vertx.core.http.impl.Http2ConnectionBase: io.vertx.core.http.impl.VertxHttp2ConnectionHandler handler> = v;
v = v.<io.vertx.core.http.impl.Http2ConnectionBase: io.netty.channel.ChannelHandlerContext chctx>;
v.<io.vertx.core.http.impl.Http2ConnectionBase: io.netty.channel.ChannelHandlerContext handlerContext> = v;
v = virtualinvoke v.<io.vertx.core.http.impl.VertxHttp2ConnectionHandler: io.netty.handler.codec.http.Http2Connection connection()>();
v = interfaceinvoke v.<io.netty.handler.codec.http.Http2Connection: io.netty.handler.codec.http.Http2Connection$Endpoint local()>();
v = interfaceinvoke v.<io.netty.handler.codec.http.Http2Connection$Endpoint: io.netty.handler.codec.http.Http2FlowController flowController()>();
v = virtualinvoke v.<io.vertx.core.http.impl.VertxHttp2ConnectionHandler: io.netty.handler.codec.http.Http2Connection connection()>();
v = interfaceinvoke v.<io.netty.handler.codec.http.Http2Connection: io.netty.handler.codec.http.Http2Stream connectionStream()>();
v = interfaceinvoke v.<io.netty.handler.codec.http.Http2LocalFlowController: int windowSize(io.netty.handler.codec.http.Http2Stream)>(v);
v.<io.vertx.core.http.impl.Http2ConnectionBase: int windowSize> = v;
v.<io.vertx.core.http.impl.Http2ConnectionBase: long maxConcurrentStreams> = 4294967295L;
v = virtualinvoke v.<io.vertx.core.http.impl.VertxHttp2ConnectionHandler: io.netty.handler.codec.http.Http2Connection connection()>();
v = interfaceinvoke v.<io.netty.handler.codec.http.Http2Connection: io.netty.handler.codec.http.Http2Connection$PropertyKey newKey()>();
v.<io.vertx.core.http.impl.Http2ConnectionBase: io.netty.handler.codec.http.Http2Connection$PropertyKey streamKey> = v;
v = virtualinvoke v.<io.vertx.core.http.impl.VertxHttp2ConnectionHandler: io.netty.handler.codec.http.Http2Settings initialSettings()>();
v.<io.vertx.core.http.impl.Http2ConnectionBase: io.netty.handler.codec.http.Http2Settings localSettings> = v;
return;
}
io.vertx.core.impl.VertxInternal vertx()
{
io.vertx.core.impl.VertxInternal v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v = v.<io.vertx.core.http.impl.Http2ConnectionBase: io.vertx.core.impl.VertxInternal vertx>;
return v;
}
public void handleClosed()
{
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
specialinvoke v.<io.vertx.core.net.impl.ConnectionBase: void handleClosed()>();
return;
}
protected void handleInterestedOpsChanged()
{
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
return;
}
protected void handleIdle(io.netty.handler.timeout.IdleStateEvent)
{
io.netty.handler.timeout.IdleStateEvent v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v := @parameter: io.netty.handler.timeout.IdleStateEvent;
specialinvoke v.<io.vertx.core.net.impl.ConnectionBase: void handleIdle(io.netty.handler.timeout.IdleStateEvent)>(v);
return;
}
synchronized void onConnectionError(java.lang.Throwable)
{
io.vertx.core.impl.logging.Logger v;
java.lang.Throwable v;
io.vertx.core.http.impl.VertxHttp2ConnectionHandler v;
java.util.Iterator v;
io.vertx.core.impl.ContextInternal v;
io.netty.handler.codec.http.Http2StreamVisitor v;
java.util.ArrayList v;
io.netty.handler.codec.http.Http2Connection v;
io.netty.handler.codec.http.Http2Exception v;
java.lang.Object v;
io.vertx.core.Handler v;
boolean v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v := @parameter: java.lang.Throwable;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
label:
v = v.<io.vertx.core.http.impl.Http2ConnectionBase: io.vertx.core.http.impl.VertxHttp2ConnectionHandler handler>;
v = virtualinvoke v.<io.vertx.core.http.impl.VertxHttp2ConnectionHandler: io.netty.handler.codec.http.Http2Connection connection()>();
v = staticinvoke <io.vertx.core.http.impl.Http2ConnectionBase$lambda_onConnectionError_0__1522: io.netty.handler.codec.http.Http2StreamVisitor bootstrap$(io.vertx.core.http.impl.Http2ConnectionBase,java.util.ArrayList)>(v, v);
interfaceinvoke v.<io.netty.handler.codec.http.Http2Connection: io.netty.handler.codec.http.Http2Stream forEachActiveStream(io.netty.handler.codec.http.Http2StreamVisitor)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <io.vertx.core.http.impl.Http2ConnectionBase: io.vertx.core.impl.logging.Logger log>;
interfaceinvoke v.<io.vertx.core.impl.logging.Logger: void error(java.lang.Object,java.lang.Throwable)>("Could not get the list of active streams", v);
label:
v = virtualinvoke v.<java.util.ArrayList: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v.<io.vertx.core.http.impl.VertxHttp2Stream: io.vertx.core.impl.ContextInternal context>;
v = staticinvoke <io.vertx.core.http.impl.Http2ConnectionBase$lambda_onConnectionError_1__1523: io.vertx.core.Handler bootstrap$(io.vertx.core.http.impl.VertxHttp2Stream,java.lang.Throwable)>(v, v);
interfaceinvoke v.<io.vertx.core.impl.ContextInternal: void dispatch(io.vertx.core.Handler)>(v);
goto label;
label:
virtualinvoke v.<io.vertx.core.http.impl.Http2ConnectionBase: void handleException(java.lang.Throwable)>(v);
return;
catch io.netty.handler.codec.http.Http2Exception from label to label with label;
}
io.vertx.core.http.impl.VertxHttp2Stream stream(int)
{
io.vertx.core.http.impl.VertxHttp2ConnectionHandler v;
io.netty.handler.codec.http.Http2Connection v;
io.netty.handler.codec.http.Http2Connection$PropertyKey v;
int v;
io.netty.handler.codec.http.Http2Stream v;
java.lang.Object v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v := @parameter: int;
v = v.<io.vertx.core.http.impl.Http2ConnectionBase: io.vertx.core.http.impl.VertxHttp2ConnectionHandler handler>;
v = virtualinvoke v.<io.vertx.core.http.impl.VertxHttp2ConnectionHandler: io.netty.handler.codec.http.Http2Connection connection()>();
v = interfaceinvoke v.<io.netty.handler.codec.http.Http2Connection: io.netty.handler.codec.http.Http2Stream stream(int)>(v);
if v != null goto label;
return null;
label:
v = v.<io.vertx.core.http.impl.Http2ConnectionBase: io.netty.handler.codec.http.Http2Connection$PropertyKey streamKey>;
v = interfaceinvoke v.<io.netty.handler.codec.http.Http2Stream: java.lang.Object getProperty(io.netty.handler.codec.http.Http2Connection$PropertyKey)>(v);
return v;
}
void onStreamError(int, java.lang.Throwable)
{
java.lang.Throwable v;
int v;
io.vertx.core.http.impl.VertxHttp2Stream v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v := @parameter: int;
v := @parameter: java.lang.Throwable;
v = virtualinvoke v.<io.vertx.core.http.impl.Http2ConnectionBase: io.vertx.core.http.impl.VertxHttp2Stream stream(int)>(v);
if v == null goto label;
virtualinvoke v.<io.vertx.core.http.impl.VertxHttp2Stream: void onException(java.lang.Throwable)>(v);
label:
return;
}
void onStreamWritabilityChanged(io.netty.handler.codec.http.Http2Stream)
{
io.netty.handler.codec.http.Http2Connection$PropertyKey v;
io.netty.handler.codec.http.Http2Stream v;
java.lang.Object v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v := @parameter: io.netty.handler.codec.http.Http2Stream;
v = v.<io.vertx.core.http.impl.Http2ConnectionBase: io.netty.handler.codec.http.Http2Connection$PropertyKey streamKey>;
v = interfaceinvoke v.<io.netty.handler.codec.http.Http2Stream: java.lang.Object getProperty(io.netty.handler.codec.http.Http2Connection$PropertyKey)>(v);
if v == null goto label;
virtualinvoke v.<io.vertx.core.http.impl.VertxHttp2Stream: void onWritabilityChanged()>();
label:
return;
}
void onStreamClosed(io.netty.handler.codec.http.Http2Stream)
{
io.vertx.core.http.GoAway v, v;
io.vertx.core.http.HttpClosedException v, v;
io.netty.channel.Channel v;
io.netty.channel.ChannelHandlerContext v;
io.netty.handler.codec.http.Http2Connection$PropertyKey v;
io.netty.handler.codec.http.Http2Stream v;
java.lang.Object v;
boolean v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v := @parameter: io.netty.handler.codec.http.Http2Stream;
v = v.<io.vertx.core.http.impl.Http2ConnectionBase: io.netty.handler.codec.http.Http2Connection$PropertyKey streamKey>;
v = interfaceinvoke v.<io.netty.handler.codec.http.Http2Stream: java.lang.Object getProperty(io.netty.handler.codec.http.Http2Connection$PropertyKey)>(v);
if v == null goto label;
v = v.<io.vertx.core.http.impl.Http2ConnectionBase: io.netty.channel.ChannelHandlerContext chctx>;
v = interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.Channel channel()>();
v = interfaceinvoke v.<io.netty.channel.Channel: boolean isActive()>();
v = v.<io.vertx.core.http.impl.Http2ConnectionBase: io.vertx.core.http.GoAway goAwayStatus>;
if v == null goto label;
v = new io.vertx.core.http.HttpClosedException;
v = v.<io.vertx.core.http.impl.Http2ConnectionBase: io.vertx.core.http.GoAway goAwayStatus>;
specialinvoke v.<io.vertx.core.http.HttpClosedException: void <init>(io.vertx.core.http.GoAway)>(v);
virtualinvoke v.<io.vertx.core.http.impl.VertxHttp2Stream: void onException(java.lang.Throwable)>(v);
goto label;
label:
if v != 0 goto label;
v = <io.vertx.core.http.impl.HttpUtils: io.vertx.core.http.HttpClosedException STREAM_CLOSED_EXCEPTION>;
virtualinvoke v.<io.vertx.core.http.impl.VertxHttp2Stream: void onException(java.lang.Throwable)>(v);
label:
virtualinvoke v.<io.vertx.core.http.impl.VertxHttp2Stream: void onClose()>();
label:
specialinvoke v.<io.vertx.core.http.impl.Http2ConnectionBase: void checkShutdown()>();
return;
}
boolean onGoAwaySent(io.vertx.core.http.GoAway)
{
java.lang.Throwable v;
io.vertx.core.http.GoAway v, v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v := @parameter: io.vertx.core.http.GoAway;
entermonitor v;
label:
v = v.<io.vertx.core.http.impl.Http2ConnectionBase: io.vertx.core.http.GoAway goAwayStatus>;
if v == null goto label;
exitmonitor v;
label:
return 0;
label:
v.<io.vertx.core.http.impl.Http2ConnectionBase: io.vertx.core.http.GoAway goAwayStatus> = v;
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
specialinvoke v.<io.vertx.core.http.impl.Http2ConnectionBase: void checkShutdown()>();
return 1;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
boolean onGoAwayReceived(io.vertx.core.http.GoAway)
{
java.lang.Throwable v;
io.vertx.core.http.GoAway v, v, v;
io.vertx.core.impl.ContextInternal v;
io.vertx.core.Handler v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v := @parameter: io.vertx.core.http.GoAway;
entermonitor v;
label:
v = v.<io.vertx.core.http.impl.Http2ConnectionBase: io.vertx.core.http.GoAway goAwayStatus>;
if v == null goto label;
exitmonitor v;
label:
return 0;
label:
v.<io.vertx.core.http.impl.Http2ConnectionBase: io.vertx.core.http.GoAway goAwayStatus> = v;
v = v.<io.vertx.core.http.impl.Http2ConnectionBase: io.vertx.core.Handler goAwayHandler>;
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.Http2ConnectionBase: io.vertx.core.impl.ContextInternal context>;
v = new io.vertx.core.http.GoAway;
specialinvoke v.<io.vertx.core.http.GoAway: void <init>(io.vertx.core.http.GoAway)>(v);
interfaceinvoke v.<io.vertx.core.impl.ContextInternal: void dispatch(java.lang.Object,io.vertx.core.Handler)>(v, v);
label:
specialinvoke v.<io.vertx.core.http.impl.Http2ConnectionBase: void checkShutdown()>();
return 1;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public void onPriorityRead(io.netty.channel.ChannelHandlerContext, int, int, short, boolean)
{
io.vertx.core.http.StreamPriority v, v, v, v;
io.netty.channel.ChannelHandlerContext v;
short v;
int v, v;
io.vertx.core.http.impl.VertxHttp2Stream v;
boolean v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: int;
v := @parameter: int;
v := @parameter: short;
v := @parameter: boolean;
v = virtualinvoke v.<io.vertx.core.http.impl.Http2ConnectionBase: io.vertx.core.http.impl.VertxHttp2Stream stream(int)>(v);
if v == null goto label;
v = new io.vertx.core.http.StreamPriority;
specialinvoke v.<io.vertx.core.http.StreamPriority: void <init>()>();
v = virtualinvoke v.<io.vertx.core.http.StreamPriority: io.vertx.core.http.StreamPriority setDependency(int)>(v);
v = virtualinvoke v.<io.vertx.core.http.StreamPriority: io.vertx.core.http.StreamPriority setWeight(short)>(v);
v = virtualinvoke v.<io.vertx.core.http.StreamPriority: io.vertx.core.http.StreamPriority setExclusive(boolean)>(v);
virtualinvoke v.<io.vertx.core.http.impl.VertxHttp2Stream: void onPriorityChange(io.vertx.core.http.StreamPriority)>(v);
label:
return;
}
public void onHeadersRead(io.netty.channel.ChannelHandlerContext, int, io.netty.handler.codec.http.Http2Headers, int, short, boolean, int, boolean) throws io.netty.handler.codec.http.Http2Exception
{
io.vertx.core.http.StreamPriority v, v, v, v;
io.netty.channel.ChannelHandlerContext v;
short v;
io.netty.handler.codec.http.Http2Headers v;
int v, v, v;
boolean v, v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: int;
v := @parameter: io.netty.handler.codec.http.Http2Headers;
v := @parameter: int;
v := @parameter: short;
v := @parameter: boolean;
v := @parameter: int;
v := @parameter: boolean;
v = new io.vertx.core.http.StreamPriority;
specialinvoke v.<io.vertx.core.http.StreamPriority: void <init>()>();
v = virtualinvoke v.<io.vertx.core.http.StreamPriority: io.vertx.core.http.StreamPriority setDependency(int)>(v);
v = virtualinvoke v.<io.vertx.core.http.StreamPriority: io.vertx.core.http.StreamPriority setWeight(short)>(v);
v = virtualinvoke v.<io.vertx.core.http.StreamPriority: io.vertx.core.http.StreamPriority setExclusive(boolean)>(v);
virtualinvoke v.<io.vertx.core.http.impl.Http2ConnectionBase: void onHeadersRead(int,io.netty.handler.codec.http.Http2Headers,io.vertx.core.http.StreamPriority,boolean)>(v, v, v, v);
return;
}
public void onHeadersRead(io.netty.channel.ChannelHandlerContext, int, io.netty.handler.codec.http.Http2Headers, int, boolean) throws io.netty.handler.codec.http.Http2Exception
{
io.netty.channel.ChannelHandlerContext v;
io.netty.handler.codec.http.Http2Headers v;
int v, v;
boolean v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: int;
v := @parameter: io.netty.handler.codec.http.Http2Headers;
v := @parameter: int;
v := @parameter: boolean;
virtualinvoke v.<io.vertx.core.http.impl.Http2ConnectionBase: void onHeadersRead(int,io.netty.handler.codec.http.Http2Headers,io.vertx.core.http.StreamPriority,boolean)>(v, v, null, v);
return;
}
protected abstract void onHeadersRead(int, io.netty.handler.codec.http.Http2Headers, io.vertx.core.http.StreamPriority, boolean);
public void onSettingsAckRead(io.netty.channel.ChannelHandlerContext)
{
java.lang.Throwable v;
io.netty.channel.ChannelHandlerContext v;
io.vertx.core.impl.ContextInternal v;
java.lang.Object v;
java.util.ArrayDeque v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v := @parameter: io.netty.channel.ChannelHandlerContext;
entermonitor v;
label:
v = v.<io.vertx.core.http.impl.Http2ConnectionBase: java.util.ArrayDeque updateSettingsHandlers>;
v = virtualinvoke v.<java.util.ArrayDeque: java.lang.Object poll()>();
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.Http2ConnectionBase: io.vertx.core.impl.ContextInternal context>;
interfaceinvoke v.<io.vertx.core.impl.ContextInternal: void emit(io.vertx.core.Handler)>(v);
label:
return;
catch java.lang.Throwable from label to label with label;
}
protected void concurrencyChanged(long)
{
long v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v := @parameter: long;
return;
}
public void onSettingsRead(io.netty.channel.ChannelHandlerContext, io.netty.handler.codec.http.Http2Settings)
{
java.lang.Throwable v;
io.vertx.core.impl.ContextInternal v;
long v, v, v, v;
io.vertx.core.http.Http2Settings v;
io.netty.channel.ChannelHandlerContext v;
byte v;
java.lang.Long v;
boolean v, v;
io.vertx.core.http.impl.Http2ConnectionBase v;
io.netty.handler.codec.http.Http2Settings v, v;
io.vertx.core.Handler v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: io.netty.handler.codec.http.Http2Settings;
entermonitor v;
label:
v = virtualinvoke v.<io.netty.handler.codec.http.Http2Settings: java.lang.Long maxConcurrentStreams()>();
if v == null goto label;
v = v.<io.vertx.core.http.impl.Http2ConnectionBase: io.netty.handler.codec.http.Http2Settings remoteSettings>;
if v == null goto label;
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = v.<io.vertx.core.http.impl.Http2ConnectionBase: long maxConcurrentStreams>;
v = v cmp v;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
goto label;
label:
v = 0;
label:
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v.<io.vertx.core.http.impl.Http2ConnectionBase: long maxConcurrentStreams> = v;
goto label;
label:
v = 0;
label:
v.<io.vertx.core.http.impl.Http2ConnectionBase: io.netty.handler.codec.http.Http2Settings remoteSettings> = v;
v = v.<io.vertx.core.http.impl.Http2ConnectionBase: io.vertx.core.Handler remoteSettingsHandler>;
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.Http2ConnectionBase: io.vertx.core.impl.ContextInternal context>;
v = staticinvoke <io.vertx.core.http.impl.HttpUtils: io.vertx.core.http.Http2Settings toVertxSettings(io.netty.handler.codec.http.Http2Settings)>(v);
interfaceinvoke v.<io.vertx.core.impl.ContextInternal: void dispatch(java.lang.Object,io.vertx.core.Handler)>(v, v);
label:
if v == 0 goto label;
v = v.<io.vertx.core.http.impl.Http2ConnectionBase: long maxConcurrentStreams>;
virtualinvoke v.<io.vertx.core.http.impl.Http2ConnectionBase: void concurrencyChanged(long)>(v);
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void onPingRead(io.netty.channel.ChannelHandlerContext, long) throws io.netty.handler.codec.http.Http2Exception
{
io.vertx.core.impl.ContextInternal v;
long v;
io.netty.channel.ChannelHandlerContext v;
io.vertx.core.buffer.Buffer v, v;
io.vertx.core.Handler v, v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: long;
v = v.<io.vertx.core.http.impl.Http2ConnectionBase: io.vertx.core.Handler pingHandler>;
if v == null goto label;
v = staticinvoke <io.vertx.core.buffer.Buffer: io.vertx.core.buffer.Buffer buffer()>();
v = interfaceinvoke v.<io.vertx.core.buffer.Buffer: io.vertx.core.buffer.Buffer appendLong(long)>(v);
v = v.<io.vertx.core.http.impl.Http2ConnectionBase: io.vertx.core.impl.ContextInternal context>;
v = staticinvoke <io.vertx.core.http.impl.Http2ConnectionBase$lambda_onPingRead_2__1524: io.vertx.core.Handler bootstrap$(io.vertx.core.Handler,io.vertx.core.buffer.Buffer)>(v, v);
interfaceinvoke v.<io.vertx.core.impl.ContextInternal: void dispatch(io.vertx.core.Handler)>(v);
label:
return;
}
public void onPingAckRead(io.netty.channel.ChannelHandlerContext, long)
{
io.netty.channel.ChannelHandlerContext v;
io.vertx.core.buffer.Buffer v, v;
java.lang.Object v;
long v;
java.util.ArrayDeque v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: long;
v = v.<io.vertx.core.http.impl.Http2ConnectionBase: java.util.ArrayDeque pongHandlers>;
v = virtualinvoke v.<java.util.ArrayDeque: java.lang.Object poll()>();
if v == null goto label;
v = staticinvoke <io.vertx.core.buffer.Buffer: io.vertx.core.buffer.Buffer buffer()>();
v = interfaceinvoke v.<io.vertx.core.buffer.Buffer: io.vertx.core.buffer.Buffer appendLong(long)>(v);
interfaceinvoke v.<io.vertx.core.Promise: void complete(java.lang.Object)>(v);
label:
return;
}
public void onPushPromiseRead(io.netty.channel.ChannelHandlerContext, int, int, io.netty.handler.codec.http.Http2Headers, int) throws io.netty.handler.codec.http.Http2Exception
{
io.netty.channel.ChannelHandlerContext v;
io.netty.handler.codec.http.Http2Headers v;
int v, v, v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: int;
v := @parameter: int;
v := @parameter: io.netty.handler.codec.http.Http2Headers;
v := @parameter: int;
return;
}
public void onGoAwayRead(io.netty.channel.ChannelHandlerContext, int, long, io.netty.buffer.ByteBuf)
{
io.netty.channel.ChannelHandlerContext v;
io.netty.buffer.ByteBuf v;
int v;
long v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: int;
v := @parameter: long;
v := @parameter: io.netty.buffer.ByteBuf;
return;
}
public void onWindowUpdateRead(io.netty.channel.ChannelHandlerContext, int, int)
{
io.netty.channel.ChannelHandlerContext v;
int v, v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: int;
v := @parameter: int;
return;
}
public void onUnknownFrame(io.netty.channel.ChannelHandlerContext, byte, int, io.netty.handler.codec.http.Http2Flags, io.netty.buffer.ByteBuf)
{
io.netty.handler.codec.http.Http2Flags v;
io.vertx.core.http.impl.HttpFrameImpl v;
io.netty.channel.ChannelHandlerContext v;
short v;
byte v;
io.netty.buffer.ByteBuf v, v;
io.vertx.core.buffer.Buffer v;
int v;
io.vertx.core.http.impl.VertxHttp2Stream v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: byte;
v := @parameter: int;
v := @parameter: io.netty.handler.codec.http.Http2Flags;
v := @parameter: io.netty.buffer.ByteBuf;
v = virtualinvoke v.<io.vertx.core.http.impl.Http2ConnectionBase: io.vertx.core.http.impl.VertxHttp2Stream stream(int)>(v);
if v == null goto label;
v = staticinvoke <io.vertx.core.http.impl.Http2ConnectionBase: io.netty.buffer.ByteBuf safeBuffer(io.netty.buffer.ByteBuf)>(v);
v = staticinvoke <io.vertx.core.buffer.Buffer: io.vertx.core.buffer.Buffer buffer(io.netty.buffer.ByteBuf)>(v);
v = new io.vertx.core.http.impl.HttpFrameImpl;
v = virtualinvoke v.<io.netty.handler.codec.http.Http2Flags: short value()>();
specialinvoke v.<io.vertx.core.http.impl.HttpFrameImpl: void <init>(int,int,io.vertx.core.buffer.Buffer)>(v, v, v);
virtualinvoke v.<io.vertx.core.http.impl.VertxHttp2Stream: void onCustomFrame(io.vertx.core.http.HttpFrame)>(v);
label:
return;
}
public void onRstStreamRead(io.netty.channel.ChannelHandlerContext, int, long)
{
io.netty.channel.ChannelHandlerContext v;
int v;
long v;
io.vertx.core.http.impl.VertxHttp2Stream v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: int;
v := @parameter: long;
v = virtualinvoke v.<io.vertx.core.http.impl.Http2ConnectionBase: io.vertx.core.http.impl.VertxHttp2Stream stream(int)>(v);
if v == null goto label;
virtualinvoke v.<io.vertx.core.http.impl.VertxHttp2Stream: void onReset(long)>(v);
label:
return;
}
public int onDataRead(io.netty.channel.ChannelHandlerContext, int, io.netty.buffer.ByteBuf, int, boolean)
{
io.netty.channel.ChannelHandlerContext v;
io.netty.buffer.ByteBuf v, v;
io.vertx.core.buffer.Buffer v;
int v, v;
io.vertx.core.http.impl.VertxHttp2Stream v;
boolean v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: int;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: int;
v := @parameter: boolean;
v = virtualinvoke v.<io.vertx.core.http.impl.Http2ConnectionBase: io.vertx.core.http.impl.VertxHttp2Stream stream(int)>(v);
if v == null goto label;
v = staticinvoke <io.vertx.core.http.impl.Http2ConnectionBase: io.netty.buffer.ByteBuf safeBuffer(io.netty.buffer.ByteBuf)>(v);
v = staticinvoke <io.vertx.core.buffer.Buffer: io.vertx.core.buffer.Buffer buffer(io.netty.buffer.ByteBuf)>(v);
virtualinvoke v.<io.vertx.core.http.impl.VertxHttp2Stream: void onData(io.vertx.core.buffer.Buffer)>(v);
if v == 0 goto label;
virtualinvoke v.<io.vertx.core.http.impl.VertxHttp2Stream: void onEnd()>();
label:
return v;
}
public int getWindowSize()
{
int v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v = v.<io.vertx.core.http.impl.Http2ConnectionBase: int windowSize>;
return v;
}
public io.vertx.core.http.HttpConnection setWindowSize(int)
{
io.vertx.core.VertxException v;
io.vertx.core.http.impl.VertxHttp2ConnectionHandler v, v;
io.netty.handler.codec.http.Http2ConnectionEncoder v;
io.netty.handler.codec.http.Http2ConnectionDecoder v;
io.netty.handler.codec.http.Http2Connection v;
io.netty.handler.codec.http.Http2Exception v;
int v, v, v;
io.netty.handler.codec.http.Http2Stream v;
io.netty.handler.codec.http.Http2LocalFlowController v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v := @parameter: int;
label:
v = v.<io.vertx.core.http.impl.Http2ConnectionBase: io.vertx.core.http.impl.VertxHttp2ConnectionHandler handler>;
v = virtualinvoke v.<io.vertx.core.http.impl.VertxHttp2ConnectionHandler: io.netty.handler.codec.http.Http2ConnectionEncoder encoder()>();
v = interfaceinvoke v.<io.netty.handler.codec.http.Http2ConnectionEncoder: io.netty.handler.codec.http.Http2Connection connection()>();
v = interfaceinvoke v.<io.netty.handler.codec.http.Http2Connection: io.netty.handler.codec.http.Http2Stream connectionStream()>();
v = v.<io.vertx.core.http.impl.Http2ConnectionBase: int windowSize>;
v = v - v;
v = v.<io.vertx.core.http.impl.Http2ConnectionBase: io.vertx.core.http.impl.VertxHttp2ConnectionHandler handler>;
v = virtualinvoke v.<io.vertx.core.http.impl.VertxHttp2ConnectionHandler: io.netty.handler.codec.http.Http2ConnectionDecoder decoder()>();
v = interfaceinvoke v.<io.netty.handler.codec.http.Http2ConnectionDecoder: io.netty.handler.codec.http.Http2LocalFlowController flowController()>();
interfaceinvoke v.<io.netty.handler.codec.http.Http2LocalFlowController: void incrementWindowSize(io.netty.handler.codec.http.Http2Stream,int)>(v, v);
v.<io.vertx.core.http.impl.Http2ConnectionBase: int windowSize> = v;
label:
return v;
label:
v := @caughtexception;
v = new io.vertx.core.VertxException;
specialinvoke v.<io.vertx.core.VertxException: void <init>(java.lang.Throwable)>(v);
throw v;
catch io.netty.handler.codec.http.Http2Exception from label to label with label;
}
public io.vertx.core.http.HttpConnection goAway(long, int, io.vertx.core.buffer.Buffer)
{
io.netty.handler.codec.http.Http2Connection$Endpoint v;
io.vertx.core.http.impl.VertxHttp2ConnectionHandler v, v;
long v;
java.lang.IllegalArgumentException v;
io.netty.handler.codec.http.Http2Connection v;
byte v;
io.netty.buffer.ByteBuf v;
io.vertx.core.buffer.Buffer v;
int v, v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v := @parameter: long;
v := @parameter: int;
v := @parameter: io.vertx.core.buffer.Buffer;
v = v cmp 0L;
if v >= 0 goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>()>();
throw v;
label:
if v >= 0 goto label;
v = v.<io.vertx.core.http.impl.Http2ConnectionBase: io.vertx.core.http.impl.VertxHttp2ConnectionHandler handler>;
v = virtualinvoke v.<io.vertx.core.http.impl.VertxHttp2ConnectionHandler: io.netty.handler.codec.http.Http2Connection connection()>();
v = interfaceinvoke v.<io.netty.handler.codec.http.Http2Connection: io.netty.handler.codec.http.Http2Connection$Endpoint remote()>();
v = interfaceinvoke v.<io.netty.handler.codec.http.Http2Connection$Endpoint: int lastStreamCreated()>();
label:
v = v.<io.vertx.core.http.impl.Http2ConnectionBase: io.vertx.core.http.impl.VertxHttp2ConnectionHandler handler>;
v = v;
if v == null goto label;
v = interfaceinvoke v.<io.vertx.core.buffer.Buffer: io.netty.buffer.ByteBuf getByteBuf()>();
goto label;
label:
v = <io.netty.buffer.Unpooled: io.netty.buffer.ByteBuf EMPTY_BUFFER>;
label:
virtualinvoke v.<io.vertx.core.http.impl.VertxHttp2ConnectionHandler: void writeGoAway(long,int,io.netty.buffer.ByteBuf)>(v, v, v);
return v;
}
public synchronized io.vertx.core.http.HttpConnection goAwayHandler(io.vertx.core.Handler)
{
io.vertx.core.Handler v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v := @parameter: io.vertx.core.Handler;
v.<io.vertx.core.http.impl.Http2ConnectionBase: io.vertx.core.Handler goAwayHandler> = v;
return v;
}
public synchronized io.vertx.core.http.HttpConnection shutdownHandler(io.vertx.core.Handler)
{
io.vertx.core.Handler v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v := @parameter: io.vertx.core.Handler;
v.<io.vertx.core.http.impl.Http2ConnectionBase: io.vertx.core.Handler shutdownHandler> = v;
return v;
}
public void shutdown(long, io.vertx.core.Handler)
{
io.vertx.core.impl.VertxInternal v;
io.vertx.core.impl.future.PromiseInternal v;
long v;
io.vertx.core.Handler v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v := @parameter: long;
v := @parameter: io.vertx.core.Handler;
v = v.<io.vertx.core.http.impl.Http2ConnectionBase: io.vertx.core.impl.VertxInternal vertx>;
v = interfaceinvoke v.<io.vertx.core.impl.VertxInternal: io.vertx.core.impl.future.PromiseInternal promise(io.vertx.core.Handler)>(v);
specialinvoke v.<io.vertx.core.http.impl.Http2ConnectionBase: void shutdown(long,io.vertx.core.impl.future.PromiseInternal)>(v, v);
return;
}
public io.vertx.core.Future shutdown(long)
{
io.vertx.core.impl.VertxInternal v;
io.vertx.core.impl.future.PromiseInternal v;
long v;
io.vertx.core.Future v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v := @parameter: long;
v = v.<io.vertx.core.http.impl.Http2ConnectionBase: io.vertx.core.impl.VertxInternal vertx>;
v = interfaceinvoke v.<io.vertx.core.impl.VertxInternal: io.vertx.core.impl.future.PromiseInternal promise()>();
specialinvoke v.<io.vertx.core.http.impl.Http2ConnectionBase: void shutdown(long,io.vertx.core.impl.future.PromiseInternal)>(v, v);
v = interfaceinvoke v.<io.vertx.core.impl.future.PromiseInternal: io.vertx.core.Future future()>();
return v;
}
private void shutdown(long, io.vertx.core.impl.future.PromiseInternal)
{
io.vertx.core.http.impl.VertxHttp2ConnectionHandler v;
io.vertx.core.impl.future.PromiseInternal v;
long v;
io.netty.channel.ChannelFuture v;
io.netty.channel.Channel v;
byte v;
java.lang.String v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v := @parameter: long;
v := @parameter: io.vertx.core.impl.future.PromiseInternal;
v = v cmp 0L;
if v >= 0 goto label;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (long)>(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[])>("Invalid timeout value \u0001");
interfaceinvoke v.<io.vertx.core.impl.future.PromiseInternal: void fail(java.lang.String)>(v);
return;
label:
v = v.<io.vertx.core.http.impl.Http2ConnectionBase: io.vertx.core.http.impl.VertxHttp2ConnectionHandler handler>;
virtualinvoke v.<io.vertx.core.http.impl.VertxHttp2ConnectionHandler: void gracefulShutdownTimeoutMillis(long)>(v);
v = virtualinvoke v.<io.vertx.core.http.impl.Http2ConnectionBase: io.netty.channel.Channel channel()>();
v = interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.ChannelFuture close()>();
interfaceinvoke v.<io.netty.channel.ChannelFuture: io.netty.channel.ChannelFuture addListener(io.netty.util.concurrent.GenericFutureListener)>(v);
return;
}
public io.vertx.core.http.impl.Http2ConnectionBase closeHandler(io.vertx.core.Handler)
{
io.vertx.core.Handler v;
io.vertx.core.net.impl.ConnectionBase v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v := @parameter: io.vertx.core.Handler;
v = specialinvoke v.<io.vertx.core.net.impl.ConnectionBase: io.vertx.core.net.impl.ConnectionBase closeHandler(io.vertx.core.Handler)>(v);
return v;
}
public io.vertx.core.Future close()
{
io.vertx.core.impl.future.PromiseInternal v;
io.vertx.core.impl.ContextInternal v;
io.vertx.core.Future v;
io.netty.channel.ChannelHandlerContext v, v;
io.netty.buffer.ByteBuf v;
io.netty.channel.ChannelPromise v, v;
io.netty.channel.ChannelFutureListener v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v = v.<io.vertx.core.http.impl.Http2ConnectionBase: 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.Http2ConnectionBase: io.netty.channel.ChannelHandlerContext chctx>;
v = interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.ChannelPromise newPromise()>();
v = interfaceinvoke v.<io.netty.channel.ChannelPromise: io.netty.channel.ChannelPromise addListener(io.netty.util.concurrent.GenericFutureListener)>(v);
v = v.<io.vertx.core.http.impl.Http2ConnectionBase: io.netty.channel.ChannelHandlerContext handlerContext>;
v = <io.netty.buffer.Unpooled: io.netty.buffer.ByteBuf EMPTY_BUFFER>;
interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.ChannelFuture writeAndFlush(java.lang.Object,io.netty.channel.ChannelPromise)>(v, v);
v = staticinvoke <io.vertx.core.http.impl.Http2ConnectionBase$lambda_close_3__1525: io.netty.channel.ChannelFutureListener bootstrap$(io.vertx.core.http.impl.Http2ConnectionBase)>(v);
interfaceinvoke v.<io.netty.channel.ChannelPromise: io.netty.channel.ChannelPromise addListener(io.netty.util.concurrent.GenericFutureListener)>(v);
v = interfaceinvoke v.<io.vertx.core.impl.future.PromiseInternal: io.vertx.core.Future future()>();
return v;
}
public synchronized io.vertx.core.http.HttpConnection remoteSettingsHandler(io.vertx.core.Handler)
{
io.vertx.core.Handler v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v := @parameter: io.vertx.core.Handler;
v.<io.vertx.core.http.impl.Http2ConnectionBase: io.vertx.core.Handler remoteSettingsHandler> = v;
return v;
}
public synchronized io.vertx.core.http.Http2Settings remoteSettings()
{
io.netty.handler.codec.http.Http2Settings v;
io.vertx.core.http.Http2Settings v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v = v.<io.vertx.core.http.impl.Http2ConnectionBase: io.netty.handler.codec.http.Http2Settings remoteSettings>;
v = staticinvoke <io.vertx.core.http.impl.HttpUtils: io.vertx.core.http.Http2Settings toVertxSettings(io.netty.handler.codec.http.Http2Settings)>(v);
return v;
}
public synchronized io.vertx.core.http.Http2Settings settings()
{
io.netty.handler.codec.http.Http2Settings v;
io.vertx.core.http.Http2Settings v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v = v.<io.vertx.core.http.impl.Http2ConnectionBase: io.netty.handler.codec.http.Http2Settings localSettings>;
v = staticinvoke <io.vertx.core.http.impl.HttpUtils: io.vertx.core.http.Http2Settings toVertxSettings(io.netty.handler.codec.http.Http2Settings)>(v);
return v;
}
public io.vertx.core.Future updateSettings(io.vertx.core.http.Http2Settings)
{
io.netty.handler.codec.http.Http2Settings v;
io.vertx.core.impl.future.PromiseInternal v;
io.vertx.core.impl.ContextInternal v;
io.vertx.core.http.Http2Settings v;
io.vertx.core.Future v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v := @parameter: io.vertx.core.http.Http2Settings;
v = v.<io.vertx.core.http.impl.Http2ConnectionBase: io.vertx.core.impl.ContextInternal context>;
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: io.vertx.core.impl.future.PromiseInternal promise()>();
v = staticinvoke <io.vertx.core.http.impl.HttpUtils: io.netty.handler.codec.http.Http2Settings fromVertxSettings(io.vertx.core.http.Http2Settings)>(v);
virtualinvoke v.<io.vertx.core.http.impl.Http2ConnectionBase: void updateSettings(io.netty.handler.codec.http.Http2Settings,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.HttpConnection updateSettings(io.vertx.core.http.Http2Settings, io.vertx.core.Handler)
{
io.vertx.core.http.Http2Settings v;
io.vertx.core.Handler v;
io.vertx.core.Future v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v := @parameter: io.vertx.core.http.Http2Settings;
v := @parameter: io.vertx.core.Handler;
v = virtualinvoke v.<io.vertx.core.http.impl.Http2ConnectionBase: io.vertx.core.Future updateSettings(io.vertx.core.http.Http2Settings)>(v);
interfaceinvoke v.<io.vertx.core.Future: io.vertx.core.Future onComplete(io.vertx.core.Handler)>(v);
return v;
}
protected void updateSettings(io.netty.handler.codec.http.Http2Settings, io.vertx.core.Handler)
{
io.netty.handler.codec.http.Http2ConnectionDecoder v;
boolean v, v;
io.vertx.core.http.impl.Http2ConnectionBase v;
io.vertx.core.http.impl.VertxHttp2ConnectionHandler v, v;
java.util.Iterator v;
io.netty.util.concurrent.GenericFutureListener v;
java.util.Set v;
io.netty.channel.ChannelFuture v;
io.netty.handler.codec.http.Http2Settings v, v;
java.lang.Object v, v, v, v;
io.vertx.core.Handler v, v;
java.util.ArrayDeque v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v := @parameter: io.netty.handler.codec.http.Http2Settings;
v := @parameter: io.vertx.core.Handler;
v = v.<io.vertx.core.http.impl.Http2ConnectionBase: io.vertx.core.http.impl.VertxHttp2ConnectionHandler handler>;
v = virtualinvoke v.<io.vertx.core.http.impl.VertxHttp2ConnectionHandler: io.netty.handler.codec.http.Http2ConnectionDecoder decoder()>();
v = interfaceinvoke v.<io.netty.handler.codec.http.Http2ConnectionDecoder: io.netty.handler.codec.http.Http2Settings localSettings()>();
v = virtualinvoke v.<io.netty.handler.codec.http.Http2Settings: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = virtualinvoke v.<io.netty.handler.codec.http.Http2Settings: java.lang.Object get(java.lang.Object)>(v);
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = staticinvoke <java.util.Objects: boolean equals(java.lang.Object,java.lang.Object)>(v, v);
if v == 0 goto label;
virtualinvoke v.<io.netty.handler.codec.http.Http2Settings: java.lang.Object remove(java.lang.Object)>(v);
goto label;
label:
v = staticinvoke <io.vertx.core.http.impl.Http2ConnectionBase$lambda_updateSettings_4__1526: io.vertx.core.Handler bootstrap$(io.vertx.core.http.impl.Http2ConnectionBase,io.netty.handler.codec.http.Http2Settings,io.vertx.core.Handler)>(v, v, v);
v = v.<io.vertx.core.http.impl.Http2ConnectionBase: java.util.ArrayDeque updateSettingsHandlers>;
virtualinvoke v.<java.util.ArrayDeque: boolean add(java.lang.Object)>(v);
v = v.<io.vertx.core.http.impl.Http2ConnectionBase: io.vertx.core.http.impl.VertxHttp2ConnectionHandler handler>;
v = virtualinvoke v.<io.vertx.core.http.impl.VertxHttp2ConnectionHandler: io.netty.channel.ChannelFuture writeSettings(io.netty.handler.codec.http.Http2Settings)>(v);
v = staticinvoke <io.vertx.core.http.impl.Http2ConnectionBase$lambda_updateSettings_5__1527: io.netty.util.concurrent.GenericFutureListener bootstrap$(io.vertx.core.http.impl.Http2ConnectionBase,io.vertx.core.Handler,io.vertx.core.Handler)>(v, v, v);
interfaceinvoke v.<io.netty.channel.ChannelFuture: io.netty.channel.ChannelFuture addListener(io.netty.util.concurrent.GenericFutureListener)>(v);
return;
}
public io.vertx.core.Future ping(io.vertx.core.buffer.Buffer)
{
io.vertx.core.http.impl.VertxHttp2ConnectionHandler v;
io.vertx.core.impl.future.PromiseInternal v;
io.netty.util.concurrent.GenericFutureListener v;
io.vertx.core.impl.ContextInternal v;
long v;
java.lang.IllegalArgumentException v;
io.vertx.core.Future v;
io.netty.channel.ChannelFuture v;
io.vertx.core.buffer.Buffer v;
int v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v := @parameter: io.vertx.core.buffer.Buffer;
v = interfaceinvoke v.<io.vertx.core.buffer.Buffer: int length()>();
if v == 8 goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("Ping data must be exactly 8 bytes");
throw v;
label:
v = v.<io.vertx.core.http.impl.Http2ConnectionBase: 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.Http2ConnectionBase: io.vertx.core.http.impl.VertxHttp2ConnectionHandler handler>;
v = interfaceinvoke v.<io.vertx.core.buffer.Buffer: long getLong(int)>(0);
v = virtualinvoke v.<io.vertx.core.http.impl.VertxHttp2ConnectionHandler: io.netty.channel.ChannelFuture writePing(long)>(v);
v = staticinvoke <io.vertx.core.http.impl.Http2ConnectionBase$lambda_ping_6__1528: io.netty.util.concurrent.GenericFutureListener bootstrap$(io.vertx.core.http.impl.Http2ConnectionBase,io.vertx.core.Promise)>(v, v);
interfaceinvoke v.<io.netty.channel.ChannelFuture: io.netty.channel.ChannelFuture addListener(io.netty.util.concurrent.GenericFutureListener)>(v);
v = interfaceinvoke v.<io.vertx.core.Promise: io.vertx.core.Future future()>();
return v;
}
public io.vertx.core.http.HttpConnection ping(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.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v := @parameter: io.vertx.core.buffer.Buffer;
v := @parameter: io.vertx.core.Handler;
v = virtualinvoke v.<io.vertx.core.http.impl.Http2ConnectionBase: io.vertx.core.Future ping(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 synchronized io.vertx.core.http.HttpConnection pingHandler(io.vertx.core.Handler)
{
io.vertx.core.Handler v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v := @parameter: io.vertx.core.Handler;
v.<io.vertx.core.http.impl.Http2ConnectionBase: io.vertx.core.Handler pingHandler> = v;
return v;
}
public io.vertx.core.http.impl.Http2ConnectionBase exceptionHandler(io.vertx.core.Handler)
{
io.vertx.core.Handler v;
io.vertx.core.net.impl.ConnectionBase v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v := @parameter: io.vertx.core.Handler;
v = specialinvoke v.<io.vertx.core.net.impl.ConnectionBase: io.vertx.core.net.impl.ConnectionBase exceptionHandler(io.vertx.core.Handler)>(v);
return v;
}
void consumeCredits(io.netty.handler.codec.http.Http2Stream, int)
{
io.vertx.core.http.impl.VertxHttp2ConnectionHandler v;
int v;
io.netty.handler.codec.http.Http2Stream v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v := @parameter: io.netty.handler.codec.http.Http2Stream;
v := @parameter: int;
v = v.<io.vertx.core.http.impl.Http2ConnectionBase: io.vertx.core.http.impl.VertxHttp2ConnectionHandler handler>;
virtualinvoke v.<io.vertx.core.http.impl.VertxHttp2ConnectionHandler: void consume(io.netty.handler.codec.http.Http2Stream,int)>(v, v);
return;
}
private void checkShutdown()
{
java.lang.Throwable v;
io.vertx.core.http.impl.VertxHttp2ConnectionHandler v;
io.netty.handler.codec.http.Http2Connection v;
int v;
io.vertx.core.Handler v;
boolean v, v, v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
entermonitor v;
label:
v = v.<io.vertx.core.http.impl.Http2ConnectionBase: boolean shutdown>;
if v == 0 goto label;
exitmonitor v;
label:
return;
label:
v = v.<io.vertx.core.http.impl.Http2ConnectionBase: io.vertx.core.http.impl.VertxHttp2ConnectionHandler handler>;
v = virtualinvoke v.<io.vertx.core.http.impl.VertxHttp2ConnectionHandler: io.netty.handler.codec.http.Http2Connection connection()>();
v = interfaceinvoke v.<io.netty.handler.codec.http.Http2Connection: boolean goAwayReceived()>();
if v != 0 goto label;
v = interfaceinvoke v.<io.netty.handler.codec.http.Http2Connection: boolean goAwaySent()>();
if v == 0 goto label;
label:
v = interfaceinvoke v.<io.netty.handler.codec.http.Http2Connection: int numActiveStreams()>();
if v <= 0 goto label;
label:
exitmonitor v;
label:
return;
label:
v.<io.vertx.core.http.impl.Http2ConnectionBase: boolean shutdown> = 1;
v = v.<io.vertx.core.http.impl.Http2ConnectionBase: io.vertx.core.Handler shutdownHandler>;
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
virtualinvoke v.<io.vertx.core.http.impl.Http2ConnectionBase: void doShutdown(io.vertx.core.Handler)>(v);
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
protected void doShutdown(io.vertx.core.Handler)
{
io.vertx.core.impl.ContextInternal v;
io.vertx.core.Handler v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ConnectionBase;
v := @parameter: io.vertx.core.Handler;
if v == null goto label;
v = v.<io.vertx.core.http.impl.Http2ConnectionBase: io.vertx.core.impl.ContextInternal context>;
interfaceinvoke v.<io.vertx.core.impl.ContextInternal: void dispatch(io.vertx.core.Handler)>(v);
label:
return;
}
static void <clinit>()
{
io.vertx.core.impl.logging.Logger v;
v = staticinvoke <io.vertx.core.impl.logging.LoggerFactory: io.vertx.core.impl.logging.Logger getLogger(java.lang.Class)>(class "Lio/vertx/core/http/impl/Http2ConnectionBase;");
<io.vertx.core.http.impl.Http2ConnectionBase: io.vertx.core.impl.logging.Logger log> = v;
return;
}
}