class jdk.internal.net.http.RawChannelTube$WriteSubscription implements java.util.concurrent.Flow$Subscription
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jdk.internal.net.http.RawChannelTube$WriteSubscription
super_class: java.lang.Object
{
final java.util.concurrent.Flow$Subscriber<? super java.util.List<java.nio.ByteBuffer>> subscriber;
descriptor: Ljava/util/concurrent/Flow$Subscriber;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/concurrent/Flow$Subscriber<-Ljava/util/List<Ljava/nio/ByteBuffer;>;>;
final jdk.internal.net.http.common.Demand demand;
descriptor: Ljdk/internal/net/http/common/Demand;
flags: (0x0010) ACC_FINAL
volatile boolean cancelled;
descriptor: Z
flags: (0x0040) ACC_VOLATILE
final jdk.internal.net.http.RawChannelTube this$0;
descriptor: Ljdk/internal/net/http/RawChannelTube;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(java.util.concurrent.Flow$Subscriber<? super java.util.List<java.nio.ByteBuffer>>);
descriptor: (Ljdk/internal/net/http/RawChannelTube;Ljava/util/concurrent/Flow$Subscriber;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 // jdk.internal.net.http.RawChannelTube$WriteSubscription this
start local 2 // java.util.concurrent.Flow$Subscriber subscriber
0: .line 118
aload 0 /* this */
aload 1
putfield jdk.internal.net.http.RawChannelTube$WriteSubscription.this$0:Ljdk/internal/net/http/RawChannelTube;
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 116
aload 0 /* this */
new jdk.internal.net.http.common.Demand
dup
invokespecial jdk.internal.net.http.common.Demand.<init>:()V
putfield jdk.internal.net.http.RawChannelTube$WriteSubscription.demand:Ljdk/internal/net/http/common/Demand;
2: .line 119
aload 0 /* this */
aload 2 /* subscriber */
putfield jdk.internal.net.http.RawChannelTube$WriteSubscription.subscriber:Ljava/util/concurrent/Flow$Subscriber;
3: .line 120
return
end local 2 // java.util.concurrent.Flow$Subscriber subscriber
end local 0 // jdk.internal.net.http.RawChannelTube$WriteSubscription this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/internal/net/http/RawChannelTube$WriteSubscription;
0 4 2 subscriber Ljava/util/concurrent/Flow$Subscriber<-Ljava/util/List<Ljava/nio/ByteBuffer;>;>;
Signature: (Ljava/util/concurrent/Flow$Subscriber<-Ljava/util/List<Ljava/nio/ByteBuffer;>;>;)V
MethodParameters:
Name Flags
this$0 final
subscriber
public void request(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=2
start local 0 // jdk.internal.net.http.RawChannelTube$WriteSubscription this
start local 1 // long n
0: .line 123
aload 0 /* this */
getfield jdk.internal.net.http.RawChannelTube$WriteSubscription.this$0:Ljdk/internal/net/http/RawChannelTube;
getfield jdk.internal.net.http.RawChannelTube.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 1
aload 0 /* this */
getfield jdk.internal.net.http.RawChannelTube$WriteSubscription.this$0:Ljdk/internal/net/http/RawChannelTube;
getfield jdk.internal.net.http.RawChannelTube.debug:Ljdk/internal/net/http/common/Logger;
ldc "WriteSubscription::request %d"
iconst_1
anewarray java.lang.Object
dup
iconst_0
lload 1 /* n */
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
1: .line 124
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield jdk.internal.net.http.RawChannelTube$WriteSubscription.demand:Ljdk/internal/net/http/common/Demand;
lload 1 /* n */
invokevirtual jdk.internal.net.http.common.Demand.increase:(J)Z
pop
2: .line 126
goto 6
start local 3 // jdk.internal.net.http.websocket.RawChannel$RawEvent event
3: .line 127
StackMap locals: jdk.internal.net.http.websocket.RawChannel$RawEvent
StackMap stack:
aload 0 /* this */
getfield jdk.internal.net.http.RawChannelTube$WriteSubscription.this$0:Ljdk/internal/net/http/RawChannelTube;
getfield jdk.internal.net.http.RawChannelTube.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 4
aload 0 /* this */
getfield jdk.internal.net.http.RawChannelTube$WriteSubscription.this$0:Ljdk/internal/net/http/RawChannelTube;
getfield jdk.internal.net.http.RawChannelTube.debug:Ljdk/internal/net/http/common/Logger;
ldc "WriteSubscriber: handling event"
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;)V
4: .line 128
StackMap locals:
StackMap stack:
aload 3 /* event */
invokeinterface jdk.internal.net.http.websocket.RawChannel$RawEvent.handle:()V
5: .line 129
aload 0 /* this */
getfield jdk.internal.net.http.RawChannelTube$WriteSubscription.demand:Ljdk/internal/net/http/common/Demand;
invokevirtual jdk.internal.net.http.common.Demand.isFulfilled:()Z
ifeq 6
goto 8
end local 3 // jdk.internal.net.http.websocket.RawChannel$RawEvent event
6: .line 126
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield jdk.internal.net.http.RawChannelTube$WriteSubscription.this$0:Ljdk/internal/net/http/RawChannelTube;
getfield jdk.internal.net.http.RawChannelTube.writePublisher:Ljdk/internal/net/http/RawChannelTube$WritePublisher;
getfield jdk.internal.net.http.RawChannelTube$WritePublisher.events:Ljava/util/concurrent/ConcurrentLinkedQueue;
invokevirtual java.util.concurrent.ConcurrentLinkedQueue.poll:()Ljava/lang/Object;
checkcast jdk.internal.net.http.websocket.RawChannel$RawEvent
dup
astore 3 /* event */
start local 3 // jdk.internal.net.http.websocket.RawChannel$RawEvent event
7: ifnonnull 3
8: .line 131
StackMap locals: jdk.internal.net.http.websocket.RawChannel$RawEvent
StackMap stack:
return
end local 3 // jdk.internal.net.http.websocket.RawChannel$RawEvent event
end local 1 // long n
end local 0 // jdk.internal.net.http.RawChannelTube$WriteSubscription this
LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/internal/net/http/RawChannelTube$WriteSubscription;
0 9 1 n J
3 6 3 event Ljdk/internal/net/http/websocket/RawChannel$RawEvent;
7 9 3 event Ljdk/internal/net/http/websocket/RawChannel$RawEvent;
MethodParameters:
Name Flags
n
public void cancel();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 // jdk.internal.net.http.RawChannelTube$WriteSubscription this
0: .line 134
aload 0 /* this */
iconst_1
putfield jdk.internal.net.http.RawChannelTube$WriteSubscription.cancelled:Z
1: .line 135
aload 0 /* this */
getfield jdk.internal.net.http.RawChannelTube$WriteSubscription.this$0:Ljdk/internal/net/http/RawChannelTube;
getfield jdk.internal.net.http.RawChannelTube.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 2
aload 0 /* this */
getfield jdk.internal.net.http.RawChannelTube$WriteSubscription.this$0:Ljdk/internal/net/http/RawChannelTube;
getfield jdk.internal.net.http.RawChannelTube.debug:Ljdk/internal/net/http/common/Logger;
ldc "WriteSubscription::cancel"
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;)V
2: .line 136
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield jdk.internal.net.http.RawChannelTube$WriteSubscription.this$0:Ljdk/internal/net/http/RawChannelTube;
invokevirtual jdk.internal.net.http.RawChannelTube.shutdownOutput:()V
3: .line 138
goto 6
start local 1 // jdk.internal.net.http.websocket.RawChannel$RawEvent event
4: .line 139
StackMap locals: jdk.internal.net.http.websocket.RawChannel$RawEvent
StackMap stack:
aload 0 /* this */
getfield jdk.internal.net.http.RawChannelTube$WriteSubscription.this$0:Ljdk/internal/net/http/RawChannelTube;
getfield jdk.internal.net.http.RawChannelTube.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 5
aload 0 /* this */
getfield jdk.internal.net.http.RawChannelTube$WriteSubscription.this$0:Ljdk/internal/net/http/RawChannelTube;
getfield jdk.internal.net.http.RawChannelTube.debug:Ljdk/internal/net/http/common/Logger;
ldc "WriteSubscriber: handling event"
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;)V
5: .line 140
StackMap locals:
StackMap stack:
aload 1 /* event */
invokeinterface jdk.internal.net.http.websocket.RawChannel$RawEvent.handle:()V
end local 1 // jdk.internal.net.http.websocket.RawChannel$RawEvent event
6: .line 138
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield jdk.internal.net.http.RawChannelTube$WriteSubscription.this$0:Ljdk/internal/net/http/RawChannelTube;
getfield jdk.internal.net.http.RawChannelTube.writePublisher:Ljdk/internal/net/http/RawChannelTube$WritePublisher;
getfield jdk.internal.net.http.RawChannelTube$WritePublisher.events:Ljava/util/concurrent/ConcurrentLinkedQueue;
invokevirtual java.util.concurrent.ConcurrentLinkedQueue.poll:()Ljava/lang/Object;
checkcast jdk.internal.net.http.websocket.RawChannel$RawEvent
dup
astore 1 /* event */
start local 1 // jdk.internal.net.http.websocket.RawChannel$RawEvent event
7: ifnonnull 4
8: .line 142
return
end local 1 // jdk.internal.net.http.websocket.RawChannel$RawEvent event
end local 0 // jdk.internal.net.http.RawChannelTube$WriteSubscription this
LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/internal/net/http/RawChannelTube$WriteSubscription;
4 6 1 event Ljdk/internal/net/http/websocket/RawChannel$RawEvent;
7 9 1 event Ljdk/internal/net/http/websocket/RawChannel$RawEvent;
}
SourceFile: "RawChannelTube.java"
NestHost: jdk.internal.net.http.RawChannelTube
InnerClasses:
public abstract Subscriber = java.util.concurrent.Flow$Subscriber of java.util.concurrent.Flow
public abstract Subscription = java.util.concurrent.Flow$Subscription of java.util.concurrent.Flow
WritePublisher = jdk.internal.net.http.RawChannelTube$WritePublisher of jdk.internal.net.http.RawChannelTube
WriteSubscription = jdk.internal.net.http.RawChannelTube$WriteSubscription of jdk.internal.net.http.RawChannelTube
public abstract RawEvent = jdk.internal.net.http.websocket.RawChannel$RawEvent of jdk.internal.net.http.websocket.RawChannel