class io.vertx.core.http.impl.Http2ServerStream extends io.vertx.core.http.impl.VertxHttp2Stream
{
protected final io.netty.handler.codec.http.Http2Headers headers;
protected final io.vertx.core.http.HttpMethod method;
protected final java.lang.String uri;
protected final java.lang.String host;
private final io.vertx.core.tracing.TracingPolicy tracingPolicy;
private java.lang.Object metric;
private java.lang.Object trace;
private boolean halfClosedRemote;
private boolean requestEnded;
private boolean responseEnded;
io.vertx.core.http.impl.Http2ServerStreamHandler request;
void <init>(io.vertx.core.http.impl.Http2ServerConnection, io.vertx.core.impl.ContextInternal, io.vertx.core.http.HttpMethod, java.lang.String, io.vertx.core.tracing.TracingPolicy, boolean)
{
io.vertx.core.http.impl.Http2ServerConnection v;
io.vertx.core.http.HttpMethod v;
io.vertx.core.http.impl.Http2ServerStream v;
io.vertx.core.impl.ContextInternal v;
java.lang.String v;
io.vertx.core.tracing.TracingPolicy v;
boolean v;
v := @this: io.vertx.core.http.impl.Http2ServerStream;
v := @parameter: io.vertx.core.http.impl.Http2ServerConnection;
v := @parameter: io.vertx.core.impl.ContextInternal;
v := @parameter: io.vertx.core.http.HttpMethod;
v := @parameter: java.lang.String;
v := @parameter: io.vertx.core.tracing.TracingPolicy;
v := @parameter: boolean;
specialinvoke v.<io.vertx.core.http.impl.VertxHttp2Stream: void <init>(io.vertx.core.http.impl.Http2ConnectionBase,io.vertx.core.impl.ContextInternal)>(v, v);
v.<io.vertx.core.http.impl.Http2ServerStream: io.netty.handler.codec.http.Http2Headers headers> = null;
v.<io.vertx.core.http.impl.Http2ServerStream: io.vertx.core.http.HttpMethod method> = v;
v.<io.vertx.core.http.impl.Http2ServerStream: java.lang.String uri> = v;
v.<io.vertx.core.http.impl.Http2ServerStream: java.lang.String host> = null;
v.<io.vertx.core.http.impl.Http2ServerStream: io.vertx.core.tracing.TracingPolicy tracingPolicy> = v;
v.<io.vertx.core.http.impl.Http2ServerStream: boolean halfClosedRemote> = v;
return;
}
void <init>(io.vertx.core.http.impl.Http2ServerConnection, io.vertx.core.impl.ContextInternal, io.netty.handler.codec.http.Http2Headers, java.lang.String, io.vertx.core.tracing.TracingPolicy, boolean)
{
io.vertx.core.impl.ContextInternal v;
io.vertx.core.http.impl.Http2ServerStream v;
int v, v;
java.lang.String v, v, v, v, v;
io.vertx.core.tracing.TracingPolicy v;
boolean v;
io.vertx.core.http.impl.Http2ServerConnection v;
io.netty.handler.codec.http.Http2Headers v;
io.vertx.core.http.HttpMethod v;
java.lang.Object v, v, v, v, v, v;
v := @this: io.vertx.core.http.impl.Http2ServerStream;
v := @parameter: io.vertx.core.http.impl.Http2ServerConnection;
v := @parameter: io.vertx.core.impl.ContextInternal;
v := @parameter: io.netty.handler.codec.http.Http2Headers;
v := @parameter: java.lang.String;
v := @parameter: io.vertx.core.tracing.TracingPolicy;
v := @parameter: boolean;
specialinvoke v.<io.vertx.core.http.impl.VertxHttp2Stream: void <init>(io.vertx.core.http.impl.Http2ConnectionBase,io.vertx.core.impl.ContextInternal)>(v, v);
v = interfaceinvoke v.<io.netty.handler.codec.http.Http2Headers: java.lang.Object get(java.lang.Object)>(":authority");
if v == null goto label;
v = interfaceinvoke v.<io.netty.handler.codec.http.Http2Headers: java.lang.Object get(java.lang.Object)>(":authority");
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
goto label;
label:
v = null;
label:
v = v;
if v != null goto label;
v = virtualinvoke v.<java.lang.String: int indexOf(java.lang.String)>("://");
v = v + 3;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
label:
v.<io.vertx.core.http.impl.Http2ServerStream: io.netty.handler.codec.http.Http2Headers headers> = v;
v.<io.vertx.core.http.impl.Http2ServerStream: java.lang.String host> = v;
v = interfaceinvoke v.<io.netty.handler.codec.http.Http2Headers: java.lang.Object get(java.lang.Object)>(":path");
if v == null goto label;
v = interfaceinvoke v.<io.netty.handler.codec.http.Http2Headers: java.lang.Object get(java.lang.Object)>(":path");
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
goto label;
label:
v = null;
label:
v.<io.vertx.core.http.impl.Http2ServerStream: java.lang.String uri> = v;
v = interfaceinvoke v.<io.netty.handler.codec.http.Http2Headers: java.lang.Object get(java.lang.Object)>(":method");
if v == null goto label;
v = interfaceinvoke v.<io.netty.handler.codec.http.Http2Headers: java.lang.Object get(java.lang.Object)>(":method");
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
v = staticinvoke <io.vertx.core.http.HttpMethod: io.vertx.core.http.HttpMethod valueOf(java.lang.String)>(v);
goto label;
label:
v = null;
label:
v.<io.vertx.core.http.impl.Http2ServerStream: io.vertx.core.http.HttpMethod method> = v;
v.<io.vertx.core.http.impl.Http2ServerStream: io.vertx.core.tracing.TracingPolicy tracingPolicy> = v;
v.<io.vertx.core.http.impl.Http2ServerStream: boolean halfClosedRemote> = v;
return;
}
void registerMetrics()
{
io.vertx.core.spi.metrics.HttpServerMetrics v;
io.vertx.core.http.impl.Http2ServerStream v;
io.vertx.core.http.impl.Http2ServerResponse v, v;
java.lang.String v;
io.vertx.core.http.impl.Http2ServerStreamHandler v, v, v;
boolean v, v;
io.vertx.core.http.impl.Http2ConnectionBase v, v, v;
io.vertx.core.http.HttpMethod v;
java.lang.Object v, v, v, v;
v := @this: io.vertx.core.http.impl.Http2ServerStream;
v = <io.vertx.core.spi.metrics.Metrics: boolean METRICS_ENABLED>;
if v == 0 goto label;
v = v.<io.vertx.core.http.impl.Http2ServerStream: io.vertx.core.http.impl.Http2ConnectionBase conn>;
v = virtualinvoke v.<io.vertx.core.http.impl.Http2ServerConnection: io.vertx.core.spi.metrics.HttpServerMetrics metrics()>();
if v == null goto label;
v = v.<io.vertx.core.http.impl.Http2ServerStream: io.vertx.core.http.impl.Http2ServerStreamHandler request>;
v = interfaceinvoke v.<io.vertx.core.http.impl.Http2ServerStreamHandler: io.vertx.core.http.impl.Http2ServerResponse response()>();
v = virtualinvoke v.<io.vertx.core.http.impl.Http2ServerResponse: boolean isPush()>();
if v == 0 goto label;
v = v.<io.vertx.core.http.impl.Http2ServerStream: io.vertx.core.http.impl.Http2ConnectionBase conn>;
v = virtualinvoke v.<io.vertx.core.http.impl.Http2ServerConnection: java.lang.Object metric()>();
v = virtualinvoke v.<io.vertx.core.http.impl.Http2ServerStream: io.vertx.core.http.HttpMethod method()>();
v = v.<io.vertx.core.http.impl.Http2ServerStream: java.lang.String uri>;
v = v.<io.vertx.core.http.impl.Http2ServerStream: io.vertx.core.http.impl.Http2ServerStreamHandler request>;
v = interfaceinvoke v.<io.vertx.core.http.impl.Http2ServerStreamHandler: io.vertx.core.http.impl.Http2ServerResponse response()>();
v = interfaceinvoke v.<io.vertx.core.spi.metrics.HttpServerMetrics: java.lang.Object responsePushed(java.lang.Object,io.vertx.core.http.HttpMethod,java.lang.String,io.vertx.core.spi.observability.HttpResponse)>(v, v, v, v);
v.<io.vertx.core.http.impl.Http2ServerStream: java.lang.Object metric> = v;
goto label;
label:
v = v.<io.vertx.core.http.impl.Http2ServerStream: io.vertx.core.http.impl.Http2ConnectionBase conn>;
v = virtualinvoke v.<io.vertx.core.http.impl.Http2ServerConnection: java.lang.Object metric()>();
v = v.<io.vertx.core.http.impl.Http2ServerStream: io.vertx.core.http.impl.Http2ServerStreamHandler request>;
v = interfaceinvoke v.<io.vertx.core.spi.metrics.HttpServerMetrics: java.lang.Object requestBegin(java.lang.Object,io.vertx.core.spi.observability.HttpRequest)>(v, v);
v.<io.vertx.core.http.impl.Http2ServerStream: java.lang.Object metric> = v;
label:
return;
}
void onHeaders(io.netty.handler.codec.http.Http2Headers, io.vertx.core.http.StreamPriority)
{
io.netty.util.AsciiString v, v, v, v;
io.vertx.core.impl.ContextInternal v, v;
io.vertx.core.http.impl.headers.Http2HeadersAdaptor v;
io.vertx.core.spi.tracing.SpanKind v;
io.vertx.core.http.impl.Http2ServerStream v;
io.vertx.core.http.impl.Http2ServerResponse v;
java.lang.String v;
io.vertx.core.http.impl.Http2ServerStreamHandler v, v, v;
io.vertx.core.tracing.TracingPolicy v;
boolean v, v, v;
io.vertx.core.http.impl.Http2ConnectionBase v, v;
io.vertx.core.spi.tracing.TagExtractor v;
io.vertx.core.http.StreamPriority v;
io.vertx.core.spi.tracing.VertxTracer v;
io.netty.handler.codec.http.Http2Headers v;
io.vertx.core.http.HttpMethod v;
io.vertx.core.http.HttpServerOptions v;
java.lang.Object v, v;
io.vertx.core.Handler v;
v := @this: io.vertx.core.http.impl.Http2ServerStream;
v := @parameter: io.netty.handler.codec.http.Http2Headers;
v := @parameter: io.vertx.core.http.StreamPriority;
if v == null goto label;
virtualinvoke v.<io.vertx.core.http.impl.Http2ServerStream: void priority(io.vertx.core.http.StreamPriority)>(v);
label:
virtualinvoke v.<io.vertx.core.http.impl.Http2ServerStream: void registerMetrics()>();
v = <io.netty.handler.codec.http.HttpHeaderNames: io.netty.util.AsciiString EXPECT>;
v = interfaceinvoke v.<io.netty.handler.codec.http.Http2Headers: java.lang.Object get(java.lang.Object)>(v);
v = v.<io.vertx.core.http.impl.Http2ServerStream: io.vertx.core.http.impl.Http2ConnectionBase conn>;
v = v.<io.vertx.core.http.impl.Http2ServerConnection: io.vertx.core.http.HttpServerOptions options>;
v = virtualinvoke v.<io.vertx.core.http.HttpServerOptions: boolean isHandle100ContinueAutomatically()>();
if v == 0 goto label;
if v == null goto label;
v = <io.netty.handler.codec.http.HttpHeaderValues: io.netty.util.AsciiString CONTINUE>;
v = virtualinvoke v.<io.netty.util.AsciiString: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
label:
v = <io.netty.handler.codec.http.HttpHeaderNames: io.netty.util.AsciiString EXPECT>;
v = <io.netty.handler.codec.http.HttpHeaderValues: io.netty.util.AsciiString CONTINUE>;
v = interfaceinvoke v.<io.netty.handler.codec.http.Http2Headers: boolean contains(java.lang.Object,java.lang.Object)>(v, v);
if v == 0 goto label;
label:
v = v.<io.vertx.core.http.impl.Http2ServerStream: io.vertx.core.http.impl.Http2ServerStreamHandler request>;
v = interfaceinvoke v.<io.vertx.core.http.impl.Http2ServerStreamHandler: io.vertx.core.http.impl.Http2ServerResponse response()>();
virtualinvoke v.<io.vertx.core.http.impl.Http2ServerResponse: io.vertx.core.http.HttpServerResponse writeContinue()>();
label:
v = v.<io.vertx.core.http.impl.Http2ServerStream: io.vertx.core.impl.ContextInternal context>;
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: io.vertx.core.spi.tracing.VertxTracer tracer()>();
if v == null goto label;
v = v.<io.vertx.core.http.impl.Http2ServerStream: io.vertx.core.impl.ContextInternal context>;
v = <io.vertx.core.spi.tracing.SpanKind: io.vertx.core.spi.tracing.SpanKind RPC>;
v = v.<io.vertx.core.http.impl.Http2ServerStream: io.vertx.core.tracing.TracingPolicy tracingPolicy>;
v = v.<io.vertx.core.http.impl.Http2ServerStream: io.vertx.core.http.impl.Http2ServerStreamHandler request>;
v = virtualinvoke v.<io.vertx.core.http.impl.Http2ServerStream: io.vertx.core.http.HttpMethod method()>();
v = virtualinvoke v.<io.vertx.core.http.HttpMethod: java.lang.String name()>();
v = new io.vertx.core.http.impl.headers.Http2HeadersAdaptor;
specialinvoke v.<io.vertx.core.http.impl.headers.Http2HeadersAdaptor: void <init>(io.netty.handler.codec.http.Http2Headers)>(v);
v = <io.vertx.core.http.impl.HttpUtils: io.vertx.core.spi.tracing.TagExtractor SERVER_REQUEST_TAG_EXTRACTOR>;
v = interfaceinvoke v.<io.vertx.core.spi.tracing.VertxTracer: java.lang.Object receiveRequest(io.vertx.core.Context,io.vertx.core.spi.tracing.SpanKind,io.vertx.core.tracing.TracingPolicy,java.lang.Object,java.lang.String,java.lang.Iterable,io.vertx.core.spi.tracing.TagExtractor)>(v, v, v, v, v, v, v);
v.<io.vertx.core.http.impl.Http2ServerStream: java.lang.Object trace> = v;
label:
v = v.<io.vertx.core.http.impl.Http2ServerStream: io.vertx.core.http.impl.Http2ServerStreamHandler request>;
v = v.<io.vertx.core.http.impl.Http2ServerStream: io.vertx.core.http.impl.Http2ConnectionBase conn>;
v = v.<io.vertx.core.http.impl.Http2ServerConnection: io.vertx.core.Handler requestHandler>;
interfaceinvoke v.<io.vertx.core.http.impl.Http2ServerStreamHandler: void dispatch(io.vertx.core.Handler)>(v);
return;
}
void onEnd(io.vertx.core.MultiMap)
{
io.vertx.core.MultiMap v;
long v;
io.vertx.core.spi.metrics.HttpServerMetrics v;
io.vertx.core.http.impl.Http2ServerStream v;
java.lang.Object v;
io.vertx.core.http.impl.Http2ServerStreamHandler v;
boolean v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ServerStream;
v := @parameter: io.vertx.core.MultiMap;
v.<io.vertx.core.http.impl.Http2ServerStream: boolean requestEnded> = 1;
v = <io.vertx.core.spi.metrics.Metrics: boolean METRICS_ENABLED>;
if v == 0 goto label;
v = v.<io.vertx.core.http.impl.Http2ServerStream: io.vertx.core.http.impl.Http2ConnectionBase conn>;
v = virtualinvoke v.<io.vertx.core.http.impl.Http2ServerConnection: io.vertx.core.spi.metrics.HttpServerMetrics metrics()>();
if v == null goto label;
v = v.<io.vertx.core.http.impl.Http2ServerStream: java.lang.Object metric>;
v = v.<io.vertx.core.http.impl.Http2ServerStream: io.vertx.core.http.impl.Http2ServerStreamHandler request>;
v = virtualinvoke v.<io.vertx.core.http.impl.Http2ServerStream: long bytesRead()>();
interfaceinvoke v.<io.vertx.core.spi.metrics.HttpServerMetrics: void requestEnd(java.lang.Object,io.vertx.core.spi.observability.HttpRequest,long)>(v, v, v);
label:
specialinvoke v.<io.vertx.core.http.impl.VertxHttp2Stream: void onEnd(io.vertx.core.MultiMap)>(v);
return;
}
void doWriteHeaders(io.netty.handler.codec.http.Http2Headers, boolean, io.vertx.core.Handler)
{
io.vertx.core.spi.metrics.HttpServerMetrics v;
io.netty.handler.codec.http.Http2Headers v;
io.vertx.core.http.impl.Http2ServerStream v;
io.vertx.core.http.impl.Http2ServerResponse v;
java.lang.Object v;
io.vertx.core.Handler v;
io.vertx.core.http.impl.Http2ServerStreamHandler v;
boolean v, v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ServerStream;
v := @parameter: io.netty.handler.codec.http.Http2Headers;
v := @parameter: boolean;
v := @parameter: io.vertx.core.Handler;
v = <io.vertx.core.spi.metrics.Metrics: boolean METRICS_ENABLED>;
if v == 0 goto label;
if v != 0 goto label;
v = v.<io.vertx.core.http.impl.Http2ServerStream: io.vertx.core.http.impl.Http2ConnectionBase conn>;
v = virtualinvoke v.<io.vertx.core.http.impl.Http2ServerConnection: io.vertx.core.spi.metrics.HttpServerMetrics metrics()>();
if v == null goto label;
v = v.<io.vertx.core.http.impl.Http2ServerStream: java.lang.Object metric>;
v = v.<io.vertx.core.http.impl.Http2ServerStream: io.vertx.core.http.impl.Http2ServerStreamHandler request>;
v = interfaceinvoke v.<io.vertx.core.http.impl.Http2ServerStreamHandler: io.vertx.core.http.impl.Http2ServerResponse response()>();
interfaceinvoke v.<io.vertx.core.spi.metrics.HttpServerMetrics: void responseBegin(java.lang.Object,io.vertx.core.spi.observability.HttpResponse)>(v, v);
label:
specialinvoke v.<io.vertx.core.http.impl.VertxHttp2Stream: void doWriteHeaders(io.netty.handler.codec.http.Http2Headers,boolean,io.vertx.core.Handler)>(v, v, v);
return;
}
protected void doWriteReset(long)
{
io.vertx.core.http.impl.Http2ServerStream v;
long v;
boolean v, v;
v := @this: io.vertx.core.http.impl.Http2ServerStream;
v := @parameter: long;
v = v.<io.vertx.core.http.impl.Http2ServerStream: boolean requestEnded>;
if v == 0 goto label;
v = v.<io.vertx.core.http.impl.Http2ServerStream: boolean responseEnded>;
if v != 0 goto label;
label:
specialinvoke v.<io.vertx.core.http.impl.VertxHttp2Stream: void doWriteReset(long)>(v);
label:
return;
}
void handleWritabilityChanged(boolean)
{
io.vertx.core.http.impl.Http2ServerStream v;
io.vertx.core.http.impl.Http2ServerResponse v;
io.vertx.core.http.impl.Http2ServerStreamHandler v;
boolean v;
v := @this: io.vertx.core.http.impl.Http2ServerStream;
v := @parameter: boolean;
v = v.<io.vertx.core.http.impl.Http2ServerStream: io.vertx.core.http.impl.Http2ServerStreamHandler request>;
v = interfaceinvoke v.<io.vertx.core.http.impl.Http2ServerStreamHandler: io.vertx.core.http.impl.Http2ServerResponse response()>();
virtualinvoke v.<io.vertx.core.http.impl.Http2ServerResponse: void handlerWritabilityChanged(boolean)>(v);
return;
}
public io.vertx.core.http.HttpMethod method()
{
io.vertx.core.http.HttpMethod v;
io.vertx.core.http.impl.Http2ServerStream v;
v := @this: io.vertx.core.http.impl.Http2ServerStream;
v = v.<io.vertx.core.http.impl.Http2ServerStream: io.vertx.core.http.HttpMethod method>;
return v;
}
protected void endWritten()
{
long v;
io.vertx.core.spi.metrics.HttpServerMetrics v;
io.vertx.core.http.impl.Http2ServerStream v;
io.vertx.core.http.impl.Http2ServerResponse v;
java.lang.Object v;
io.vertx.core.http.impl.Http2ServerStreamHandler v;
boolean v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ServerStream;
v.<io.vertx.core.http.impl.Http2ServerStream: boolean responseEnded> = 1;
v = <io.vertx.core.spi.metrics.Metrics: boolean METRICS_ENABLED>;
if v == 0 goto label;
v = v.<io.vertx.core.http.impl.Http2ServerStream: io.vertx.core.http.impl.Http2ConnectionBase conn>;
v = virtualinvoke v.<io.vertx.core.http.impl.Http2ServerConnection: io.vertx.core.spi.metrics.HttpServerMetrics metrics()>();
if v == null goto label;
v = v.<io.vertx.core.http.impl.Http2ServerStream: java.lang.Object metric>;
v = v.<io.vertx.core.http.impl.Http2ServerStream: io.vertx.core.http.impl.Http2ServerStreamHandler request>;
v = interfaceinvoke v.<io.vertx.core.http.impl.Http2ServerStreamHandler: io.vertx.core.http.impl.Http2ServerResponse response()>();
v = virtualinvoke v.<io.vertx.core.http.impl.Http2ServerStream: long bytesWritten()>();
interfaceinvoke v.<io.vertx.core.spi.metrics.HttpServerMetrics: void responseEnd(java.lang.Object,io.vertx.core.spi.observability.HttpResponse,long)>(v, v, v);
label:
return;
}
void handleClose()
{
io.vertx.core.http.impl.Http2ServerStreamHandler v;
io.vertx.core.http.impl.Http2ServerStream v;
v := @this: io.vertx.core.http.impl.Http2ServerStream;
specialinvoke v.<io.vertx.core.http.impl.VertxHttp2Stream: void handleClose()>();
v = v.<io.vertx.core.http.impl.Http2ServerStream: io.vertx.core.http.impl.Http2ServerStreamHandler request>;
interfaceinvoke v.<io.vertx.core.http.impl.Http2ServerStreamHandler: void handleClose()>();
return;
}
void handleReset(long)
{
long v;
io.vertx.core.http.impl.Http2ServerStreamHandler v;
io.vertx.core.http.impl.Http2ServerStream v;
v := @this: io.vertx.core.http.impl.Http2ServerStream;
v := @parameter: long;
v = v.<io.vertx.core.http.impl.Http2ServerStream: io.vertx.core.http.impl.Http2ServerStreamHandler request>;
interfaceinvoke v.<io.vertx.core.http.impl.Http2ServerStreamHandler: void handleReset(long)>(v);
return;
}
void handleException(java.lang.Throwable)
{
java.lang.Throwable v;
io.vertx.core.http.impl.Http2ServerStreamHandler v;
io.vertx.core.http.impl.Http2ServerStream v;
v := @this: io.vertx.core.http.impl.Http2ServerStream;
v := @parameter: java.lang.Throwable;
v = v.<io.vertx.core.http.impl.Http2ServerStream: io.vertx.core.http.impl.Http2ServerStreamHandler request>;
interfaceinvoke v.<io.vertx.core.http.impl.Http2ServerStreamHandler: void handleException(java.lang.Throwable)>(v);
return;
}
void handleCustomFrame(io.vertx.core.http.HttpFrame)
{
io.vertx.core.http.HttpFrame v;
io.vertx.core.http.impl.Http2ServerStreamHandler v;
io.vertx.core.http.impl.Http2ServerStream v;
v := @this: io.vertx.core.http.impl.Http2ServerStream;
v := @parameter: io.vertx.core.http.HttpFrame;
v = v.<io.vertx.core.http.impl.Http2ServerStream: io.vertx.core.http.impl.Http2ServerStreamHandler request>;
interfaceinvoke v.<io.vertx.core.http.impl.Http2ServerStreamHandler: void handleCustomFrame(io.vertx.core.http.HttpFrame)>(v);
return;
}
void handlePriorityChange(io.vertx.core.http.StreamPriority)
{
io.vertx.core.http.impl.Http2ServerStreamHandler v;
io.vertx.core.http.StreamPriority v;
io.vertx.core.http.impl.Http2ServerStream v;
v := @this: io.vertx.core.http.impl.Http2ServerStream;
v := @parameter: io.vertx.core.http.StreamPriority;
v = v.<io.vertx.core.http.impl.Http2ServerStream: io.vertx.core.http.impl.Http2ServerStreamHandler request>;
interfaceinvoke v.<io.vertx.core.http.impl.Http2ServerStreamHandler: void handlePriorityChange(io.vertx.core.http.StreamPriority)>(v);
return;
}
void handleData(io.vertx.core.buffer.Buffer)
{
io.vertx.core.buffer.Buffer v;
io.vertx.core.http.impl.Http2ServerStreamHandler v;
io.vertx.core.http.impl.Http2ServerStream v;
v := @this: io.vertx.core.http.impl.Http2ServerStream;
v := @parameter: io.vertx.core.buffer.Buffer;
v = v.<io.vertx.core.http.impl.Http2ServerStream: io.vertx.core.http.impl.Http2ServerStreamHandler request>;
interfaceinvoke v.<io.vertx.core.http.impl.Http2ServerStreamHandler: void handleData(io.vertx.core.buffer.Buffer)>(v);
return;
}
void handleEnd(io.vertx.core.MultiMap)
{
io.vertx.core.MultiMap v;
io.vertx.core.http.impl.Http2ServerStreamHandler v;
io.vertx.core.http.impl.Http2ServerStream v;
v := @this: io.vertx.core.http.impl.Http2ServerStream;
v := @parameter: io.vertx.core.MultiMap;
v.<io.vertx.core.http.impl.Http2ServerStream: boolean halfClosedRemote> = 1;
v = v.<io.vertx.core.http.impl.Http2ServerStream: io.vertx.core.http.impl.Http2ServerStreamHandler request>;
interfaceinvoke v.<io.vertx.core.http.impl.Http2ServerStreamHandler: void handleEnd(io.vertx.core.MultiMap)>(v);
return;
}
void onClose()
{
java.lang.Throwable v;
io.vertx.core.impl.ContextInternal v, v;
io.vertx.core.spi.metrics.HttpServerMetrics v;
io.vertx.core.http.impl.Http2ServerStream v;
io.vertx.core.http.impl.Http2ServerResponse v;
io.vertx.core.http.impl.Http2ServerStreamHandler v, v;
boolean v, v, v, v, v, v;
io.vertx.core.http.impl.Http2ConnectionBase v, v;
io.vertx.core.spi.tracing.TagExtractor v;
io.vertx.core.spi.tracing.VertxTracer v;
io.vertx.core.http.HttpClosedException v;
java.lang.Object v, v;
v := @this: io.vertx.core.http.impl.Http2ServerStream;
v = <io.vertx.core.spi.metrics.Metrics: boolean METRICS_ENABLED>;
if v == 0 goto label;
v = v.<io.vertx.core.http.impl.Http2ServerStream: io.vertx.core.http.impl.Http2ConnectionBase conn>;
v = virtualinvoke v.<io.vertx.core.http.impl.Http2ServerConnection: io.vertx.core.spi.metrics.HttpServerMetrics metrics()>();
if v == null goto label;
v = v.<io.vertx.core.http.impl.Http2ServerStream: boolean requestEnded>;
if v == 0 goto label;
v = v.<io.vertx.core.http.impl.Http2ServerStream: boolean responseEnded>;
if v != 0 goto label;
label:
v = v.<io.vertx.core.http.impl.Http2ServerStream: java.lang.Object metric>;
interfaceinvoke v.<io.vertx.core.spi.metrics.HttpServerMetrics: void requestReset(java.lang.Object)>(v);
label:
v = v.<io.vertx.core.http.impl.Http2ServerStream: io.vertx.core.http.impl.Http2ServerStreamHandler request>;
interfaceinvoke v.<io.vertx.core.http.impl.Http2ServerStreamHandler: void onClose()>();
v = v.<io.vertx.core.http.impl.Http2ServerStream: io.vertx.core.impl.ContextInternal context>;
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: io.vertx.core.spi.tracing.VertxTracer tracer()>();
v = v.<io.vertx.core.http.impl.Http2ServerStream: java.lang.Object trace>;
if v == null goto label;
if v == null goto label;
v = v.<io.vertx.core.http.impl.Http2ServerStream: io.vertx.core.http.impl.Http2ConnectionBase conn>;
entermonitor v;
label:
v = v.<io.vertx.core.http.impl.Http2ServerStream: boolean halfClosedRemote>;
if v != 0 goto label;
v = v.<io.vertx.core.http.impl.Http2ServerStream: boolean requestEnded>;
if v == 0 goto label;
v = v.<io.vertx.core.http.impl.Http2ServerStream: boolean responseEnded>;
if v != 0 goto label;
label:
v = <io.vertx.core.http.impl.HttpUtils: io.vertx.core.http.HttpClosedException STREAM_CLOSED_EXCEPTION>;
goto label;
label:
v = null;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<io.vertx.core.http.impl.Http2ServerStream: io.vertx.core.impl.ContextInternal context>;
if v != null goto label;
v = v.<io.vertx.core.http.impl.Http2ServerStream: io.vertx.core.http.impl.Http2ServerStreamHandler request>;
v = interfaceinvoke v.<io.vertx.core.http.impl.Http2ServerStreamHandler: io.vertx.core.http.impl.Http2ServerResponse response()>();
goto label;
label:
v = null;
label:
v = <io.vertx.core.http.impl.HttpUtils: io.vertx.core.spi.tracing.TagExtractor SERVER_RESPONSE_TAG_EXTRACTOR>;
interfaceinvoke v.<io.vertx.core.spi.tracing.VertxTracer: void sendResponse(io.vertx.core.Context,java.lang.Object,java.lang.Object,java.lang.Throwable,io.vertx.core.spi.tracing.TagExtractor)>(v, v, v, v, v);
label:
specialinvoke v.<io.vertx.core.http.impl.VertxHttp2Stream: void onClose()>();
return;
catch java.lang.Throwable from label to label with label;
}
public java.lang.Object metric()
{
java.lang.Object v;
io.vertx.core.http.impl.Http2ServerStream v;
v := @this: io.vertx.core.http.impl.Http2ServerStream;
v = v.<io.vertx.core.http.impl.Http2ServerStream: java.lang.Object metric>;
return v;
}
public io.vertx.core.http.HttpServerRequest routed(java.lang.String)
{
io.vertx.core.spi.metrics.HttpServerMetrics v;
io.vertx.core.http.impl.Http2ServerStream v;
java.lang.Object v;
java.lang.String v;
boolean v, v;
io.vertx.core.http.impl.Http2ConnectionBase v;
v := @this: io.vertx.core.http.impl.Http2ServerStream;
v := @parameter: java.lang.String;
v = <io.vertx.core.spi.metrics.Metrics: boolean METRICS_ENABLED>;
if v == 0 goto label;
v = v.<io.vertx.core.http.impl.Http2ServerStream: io.vertx.core.http.impl.Http2ConnectionBase conn>;
v = virtualinvoke v.<io.vertx.core.http.impl.Http2ServerConnection: io.vertx.core.spi.metrics.HttpServerMetrics metrics()>();
if v == null goto label;
v = v.<io.vertx.core.http.impl.Http2ServerStream: boolean responseEnded>;
if v != 0 goto label;
v = v.<io.vertx.core.http.impl.Http2ServerStream: java.lang.Object metric>;
interfaceinvoke v.<io.vertx.core.spi.metrics.HttpServerMetrics: void requestRouted(java.lang.Object,java.lang.String)>(v, v);
label:
return null;
}
}