class jdk.incubator.http.ResponseSubscribers$MultiSubscriberImpl<V> implements jdk.incubator.http.HttpResponse$MultiSubscriber<jdk.incubator.http.MultiMapResult<V>, V>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jdk.incubator.http.ResponseSubscribers$MultiSubscriberImpl
super_class: java.lang.Object
{
private final jdk.incubator.http.MultiMapResult<V> results;
descriptor: Ljdk/incubator/http/MultiMapResult;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljdk/incubator/http/MultiMapResult<TV;>;
private final java.util.function.Function<jdk.incubator.http.HttpRequest, java.util.Optional<jdk.incubator.http.HttpResponse$BodyHandler<V>>> pushHandler;
descriptor: Ljava/util/function/Function;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/function/Function<Ljdk/incubator/http/HttpRequest;Ljava/util/Optional<Ljdk/incubator/http/HttpResponse$BodyHandler<TV;>;>;>;
private final java.util.function.Function<jdk.incubator.http.HttpRequest, jdk.incubator.http.HttpResponse$BodyHandler<V>> requestHandler;
descriptor: Ljava/util/function/Function;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/function/Function<Ljdk/incubator/http/HttpRequest;Ljdk/incubator/http/HttpResponse$BodyHandler<TV;>;>;
private final boolean completion;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(java.util.function.Function<jdk.incubator.http.HttpRequest, jdk.incubator.http.HttpResponse$BodyHandler<V>>, java.util.function.Function<jdk.incubator.http.HttpRequest, java.util.Optional<jdk.incubator.http.HttpResponse$BodyHandler<V>>>, );
descriptor: (Ljava/util/function/Function;Ljava/util/function/Function;Z)V
flags: (0x0000)
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new jdk.incubator.http.MultiMapResult
dup
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
invokespecial jdk.incubator.http.MultiMapResult.<init>:(Ljava/util/Map;)V
putfield jdk.incubator.http.ResponseSubscribers$MultiSubscriberImpl.results:Ljdk/incubator/http/MultiMapResult;
2: aload 0
aload 1
putfield jdk.incubator.http.ResponseSubscribers$MultiSubscriberImpl.requestHandler:Ljava/util/function/Function;
3: aload 0
aload 2
putfield jdk.incubator.http.ResponseSubscribers$MultiSubscriberImpl.pushHandler:Ljava/util/function/Function;
4: aload 0
iload 3
putfield jdk.incubator.http.ResponseSubscribers$MultiSubscriberImpl.completion:Z
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/incubator/http/ResponseSubscribers$MultiSubscriberImpl<TV;>;
0 6 1 requestHandler Ljava/util/function/Function<Ljdk/incubator/http/HttpRequest;Ljdk/incubator/http/HttpResponse$BodyHandler<TV;>;>;
0 6 2 pushHandler Ljava/util/function/Function<Ljdk/incubator/http/HttpRequest;Ljava/util/Optional<Ljdk/incubator/http/HttpResponse$BodyHandler<TV;>;>;>;
0 6 3 completion Z
Signature: (Ljava/util/function/Function<Ljdk/incubator/http/HttpRequest;Ljdk/incubator/http/HttpResponse$BodyHandler<TV;>;>;Ljava/util/function/Function<Ljdk/incubator/http/HttpRequest;Ljava/util/Optional<Ljdk/incubator/http/HttpResponse$BodyHandler<TV;>;>;>;Z)V
MethodParameters:
Name Flags
requestHandler
pushHandler
completion
public jdk.incubator.http.HttpResponse$BodyHandler<V> onRequest(jdk.incubator.http.HttpRequest);
descriptor: (Ljdk/incubator/http/HttpRequest;)Ljdk/incubator/http/HttpResponse$BodyHandler;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: invokestatic jdk.incubator.http.internal.common.MinimalFuture.newMinimalFuture:()Ljdk/incubator/http/internal/common/MinimalFuture;
astore 2
start local 2 1: aload 0
getfield jdk.incubator.http.ResponseSubscribers$MultiSubscriberImpl.results:Ljdk/incubator/http/MultiMapResult;
aload 1
aload 2
invokevirtual jdk.incubator.http.MultiMapResult.put:(Ljdk/incubator/http/HttpRequest;Ljava/util/concurrent/CompletableFuture;)Ljava/util/concurrent/CompletableFuture;
pop
2: aload 0
getfield jdk.incubator.http.ResponseSubscribers$MultiSubscriberImpl.requestHandler:Ljava/util/function/Function;
aload 1
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast jdk.incubator.http.HttpResponse$BodyHandler
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/incubator/http/ResponseSubscribers$MultiSubscriberImpl<TV;>;
0 3 1 request Ljdk/incubator/http/HttpRequest;
1 3 2 cf Ljava/util/concurrent/CompletableFuture<Ljdk/incubator/http/HttpResponse<TV;>;>;
Signature: (Ljdk/incubator/http/HttpRequest;)Ljdk/incubator/http/HttpResponse$BodyHandler<TV;>;
MethodParameters:
Name Flags
request
public java.util.Optional<jdk.incubator.http.HttpResponse$BodyHandler<V>> onPushPromise(jdk.incubator.http.HttpRequest);
descriptor: (Ljdk/incubator/http/HttpRequest;)Ljava/util/Optional;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: invokestatic jdk.incubator.http.internal.common.MinimalFuture.newMinimalFuture:()Ljdk/incubator/http/internal/common/MinimalFuture;
astore 2
start local 2 1: aload 0
getfield jdk.incubator.http.ResponseSubscribers$MultiSubscriberImpl.results:Ljdk/incubator/http/MultiMapResult;
aload 1
aload 2
invokevirtual jdk.incubator.http.MultiMapResult.put:(Ljdk/incubator/http/HttpRequest;Ljava/util/concurrent/CompletableFuture;)Ljava/util/concurrent/CompletableFuture;
pop
2: aload 0
getfield jdk.incubator.http.ResponseSubscribers$MultiSubscriberImpl.pushHandler:Ljava/util/function/Function;
aload 1
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Optional
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/incubator/http/ResponseSubscribers$MultiSubscriberImpl<TV;>;
0 3 1 push Ljdk/incubator/http/HttpRequest;
1 3 2 cf Ljava/util/concurrent/CompletableFuture<Ljdk/incubator/http/HttpResponse<TV;>;>;
Signature: (Ljdk/incubator/http/HttpRequest;)Ljava/util/Optional<Ljdk/incubator/http/HttpResponse$BodyHandler<TV;>;>;
MethodParameters:
Name Flags
push
public void onResponse(jdk.incubator.http.HttpResponse<V>);
descriptor: (Ljdk/incubator/http/HttpResponse;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.incubator.http.ResponseSubscribers$MultiSubscriberImpl.results:Ljdk/incubator/http/MultiMapResult;
aload 1
invokevirtual jdk.incubator.http.HttpResponse.request:()Ljdk/incubator/http/HttpRequest;
invokevirtual jdk.incubator.http.MultiMapResult.get:(Ljava/lang/Object;)Ljava/util/concurrent/CompletableFuture;
astore 2
start local 2 1: aload 2
aload 1
invokevirtual java.util.concurrent.CompletableFuture.complete:(Ljava/lang/Object;)Z
pop
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/incubator/http/ResponseSubscribers$MultiSubscriberImpl<TV;>;
0 3 1 response Ljdk/incubator/http/HttpResponse<TV;>;
1 3 2 cf Ljava/util/concurrent/CompletableFuture<Ljdk/incubator/http/HttpResponse<TV;>;>;
Signature: (Ljdk/incubator/http/HttpResponse<TV;>;)V
MethodParameters:
Name Flags
response
public void onError(jdk.incubator.http.HttpRequest, java.lang.Throwable);
descriptor: (Ljdk/incubator/http/HttpRequest;Ljava/lang/Throwable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.incubator.http.ResponseSubscribers$MultiSubscriberImpl.results:Ljdk/incubator/http/MultiMapResult;
aload 1
invokevirtual jdk.incubator.http.MultiMapResult.get:(Ljava/lang/Object;)Ljava/util/concurrent/CompletableFuture;
astore 3
start local 3 1: aload 3
aload 2
invokevirtual java.util.concurrent.CompletableFuture.completeExceptionally:(Ljava/lang/Throwable;)Z
pop
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/incubator/http/ResponseSubscribers$MultiSubscriberImpl<TV;>;
0 3 1 request Ljdk/incubator/http/HttpRequest;
0 3 2 t Ljava/lang/Throwable;
1 3 3 cf Ljava/util/concurrent/CompletableFuture<Ljdk/incubator/http/HttpResponse<TV;>;>;
MethodParameters:
Name Flags
request
t
public java.util.concurrent.CompletableFuture<jdk.incubator.http.MultiMapResult<V>> completion(java.util.concurrent.CompletableFuture<java.lang.Void>, java.util.concurrent.CompletableFuture<java.lang.Void>);
descriptor: (Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;)Ljava/util/concurrent/CompletableFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.incubator.http.ResponseSubscribers$MultiSubscriberImpl.completion:Z
ifeq 2
1: aload 1
aload 0
invokedynamic apply(Ljdk/incubator/http/ResponseSubscribers$MultiSubscriberImpl;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/incubator/http/ResponseSubscribers$MultiSubscriberImpl.lambda$0(Ljava/lang/Void;)Ljdk/incubator/http/MultiMapResult; (7)
(Ljava/lang/Void;)Ljdk/incubator/http/MultiMapResult;
invokevirtual java.util.concurrent.CompletableFuture.thenApply:(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
areturn
2: StackMap locals:
StackMap stack:
aload 2
aload 0
invokedynamic apply(Ljdk/incubator/http/ResponseSubscribers$MultiSubscriberImpl;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/incubator/http/ResponseSubscribers$MultiSubscriberImpl.lambda$1(Ljava/lang/Void;)Ljdk/incubator/http/MultiMapResult; (7)
(Ljava/lang/Void;)Ljdk/incubator/http/MultiMapResult;
invokevirtual java.util.concurrent.CompletableFuture.thenApply:(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/incubator/http/ResponseSubscribers$MultiSubscriberImpl<TV;>;
0 3 1 onComplete Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
0 3 2 onFinalPushPromise Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
Signature: (Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;)Ljava/util/concurrent/CompletableFuture<Ljdk/incubator/http/MultiMapResult<TV;>;>;
MethodParameters:
Name Flags
onComplete
onFinalPushPromise
private jdk.incubator.http.MultiMapResult lambda$0(java.lang.Void);
descriptor: (Ljava/lang/Void;)Ljdk/incubator/http/MultiMapResult;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.incubator.http.ResponseSubscribers$MultiSubscriberImpl.results:Ljdk/incubator/http/MultiMapResult;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/ResponseSubscribers$MultiSubscriberImpl<TV;>;
0 1 1 ignored Ljava/lang/Void;
private jdk.incubator.http.MultiMapResult lambda$1(java.lang.Void);
descriptor: (Ljava/lang/Void;)Ljdk/incubator/http/MultiMapResult;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.incubator.http.ResponseSubscribers$MultiSubscriberImpl.results:Ljdk/incubator/http/MultiMapResult;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/ResponseSubscribers$MultiSubscriberImpl<TV;>;
0 1 1 ignored Ljava/lang/Void;
}
Signature: <V:Ljava/lang/Object;>Ljava/lang/Object;Ljdk/incubator/http/HttpResponse$MultiSubscriber<Ljdk/incubator/http/MultiMapResult<TV;>;TV;>;
SourceFile: "ResponseSubscribers.java"
NestHost: jdk.incubator.http.ResponseSubscribers
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract BodyHandler = jdk.incubator.http.HttpResponse$BodyHandler of jdk.incubator.http.HttpResponse
public abstract MultiSubscriber = jdk.incubator.http.HttpResponse$MultiSubscriber of jdk.incubator.http.HttpResponse
MultiSubscriberImpl = jdk.incubator.http.ResponseSubscribers$MultiSubscriberImpl of jdk.incubator.http.ResponseSubscribers