public class jdk.incubator.http.internal.websocket.Transmitter
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: jdk.incubator.http.internal.websocket.Transmitter
super_class: java.lang.Object
{
private final java.util.concurrent.atomic.AtomicBoolean busy;
descriptor: Ljava/util/concurrent/atomic/AtomicBoolean;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private jdk.incubator.http.internal.websocket.OutgoingMessage message;
descriptor: Ljdk/incubator/http/internal/websocket/OutgoingMessage;
flags: (0x0002) ACC_PRIVATE
private java.util.function.Consumer<java.lang.Exception> completionHandler;
descriptor: Ljava/util/function/Consumer;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/function/Consumer<Ljava/lang/Exception;>;
private final jdk.incubator.http.internal.websocket.RawChannel channel;
descriptor: Ljdk/incubator/http/internal/websocket/RawChannel;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.incubator.http.internal.websocket.RawChannel$RawEvent event;
descriptor: Ljdk/incubator/http/internal/websocket/RawChannel$RawEvent;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Ljdk/incubator/http/internal/websocket/Transmitter;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic jdk.incubator.http.internal.websocket.Transmitter.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(jdk.incubator.http.internal.websocket.RawChannel);
descriptor: (Ljdk/incubator/http/internal/websocket/RawChannel;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.concurrent.atomic.AtomicBoolean
dup
invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:()V
putfield jdk.incubator.http.internal.websocket.Transmitter.busy:Ljava/util/concurrent/atomic/AtomicBoolean;
2: aload 0
aload 1
putfield jdk.incubator.http.internal.websocket.Transmitter.channel:Ljdk/incubator/http/internal/websocket/RawChannel;
3: aload 0
aload 0
invokevirtual jdk.incubator.http.internal.websocket.Transmitter.createHandler:()Ljdk/incubator/http/internal/websocket/RawChannel$RawEvent;
putfield jdk.incubator.http.internal.websocket.Transmitter.event:Ljdk/incubator/http/internal/websocket/RawChannel$RawEvent;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/incubator/http/internal/websocket/Transmitter;
0 5 1 channel Ljdk/incubator/http/internal/websocket/RawChannel;
MethodParameters:
Name Flags
channel
public void send(jdk.incubator.http.internal.websocket.OutgoingMessage, java.util.function.Consumer<java.lang.Exception>);
descriptor: (Ljdk/incubator/http/internal/websocket/OutgoingMessage;Ljava/util/function/Consumer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 2
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 0
getfield jdk.incubator.http.internal.websocket.Transmitter.busy:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_0
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicBoolean.compareAndSet:(ZZ)Z
ifne 4
3: new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual jdk.incubator.http.internal.websocket.Transmitter.send0:(Ljdk/incubator/http/internal/websocket/OutgoingMessage;Ljava/util/function/Consumer;)V
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/incubator/http/internal/websocket/Transmitter;
0 6 1 message Ljdk/incubator/http/internal/websocket/OutgoingMessage;
0 6 2 completionHandler Ljava/util/function/Consumer<Ljava/lang/Exception;>;
Signature: (Ljdk/incubator/http/internal/websocket/OutgoingMessage;Ljava/util/function/Consumer<Ljava/lang/Exception;>;)V
MethodParameters:
Name Flags
message
completionHandler
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.internal.websocket.Transmitter.channel:Ljdk/incubator/http/internal/websocket/RawChannel;
invokeinterface jdk.incubator.http.internal.websocket.RawChannel.shutdownOutput:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/incubator/http/internal/websocket/Transmitter;
Exceptions:
throws java.io.IOException
private jdk.incubator.http.internal.websocket.RawChannel$RawEvent createHandler();
descriptor: ()Ljdk/incubator/http/internal/websocket/RawChannel$RawEvent;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: new jdk.incubator.http.internal.websocket.Transmitter$1
dup
aload 0
invokespecial jdk.incubator.http.internal.websocket.Transmitter$1.<init>:(Ljdk/incubator/http/internal/websocket/Transmitter;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/internal/websocket/Transmitter;
private void send0(jdk.incubator.http.internal.websocket.OutgoingMessage, java.util.function.Consumer<java.lang.Exception>);
descriptor: (Ljdk/incubator/http/internal/websocket/OutgoingMessage;Ljava/util/function/Consumer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.incubator.http.internal.websocket.Transmitter.busy:Ljava/util/concurrent/atomic/AtomicBoolean;
invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
istore 3
start local 3 1: getstatic jdk.incubator.http.internal.websocket.Transmitter.$assertionsDisabled:Z
ifne 2
iload 3
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: int
StackMap stack:
aload 1
aload 0
getfield jdk.incubator.http.internal.websocket.Transmitter.channel:Ljdk/incubator/http/internal/websocket/RawChannel;
invokevirtual jdk.incubator.http.internal.websocket.OutgoingMessage.sendTo:(Ljdk/incubator/http/internal/websocket/RawChannel;)Z
istore 4
start local 4 3: iload 4
ifeq 7
4: aload 0
getfield jdk.incubator.http.internal.websocket.Transmitter.busy:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_0
invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
5: aload 2
aconst_null
invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
6: goto 20
7: StackMap locals: int
StackMap stack:
aload 0
aload 1
putfield jdk.incubator.http.internal.websocket.Transmitter.message:Ljdk/incubator/http/internal/websocket/OutgoingMessage;
8: aload 0
aload 2
putfield jdk.incubator.http.internal.websocket.Transmitter.completionHandler:Ljava/util/function/Consumer;
9: aload 0
getfield jdk.incubator.http.internal.websocket.Transmitter.channel:Ljdk/incubator/http/internal/websocket/RawChannel;
aload 0
getfield jdk.incubator.http.internal.websocket.Transmitter.event:Ljdk/incubator/http/internal/websocket/RawChannel$RawEvent;
invokeinterface jdk.incubator.http.internal.websocket.RawChannel.registerEvent:(Ljdk/incubator/http/internal/websocket/RawChannel$RawEvent;)V
10: goto 20
StackMap locals:
StackMap stack: java.io.IOException
11: astore 5
start local 5 12: aload 0
aconst_null
putfield jdk.incubator.http.internal.websocket.Transmitter.message:Ljdk/incubator/http/internal/websocket/OutgoingMessage;
13: aload 0
aconst_null
putfield jdk.incubator.http.internal.websocket.Transmitter.completionHandler:Ljava/util/function/Consumer;
14: aload 0
getfield jdk.incubator.http.internal.websocket.Transmitter.busy:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_0
invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
15: aload 2
aload 5
invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
end local 5 end local 4 16: goto 20
StackMap locals: jdk.incubator.http.internal.websocket.Transmitter jdk.incubator.http.internal.websocket.OutgoingMessage java.util.function.Consumer int
StackMap stack: java.io.IOException
17: astore 4
start local 4 18: aload 0
getfield jdk.incubator.http.internal.websocket.Transmitter.busy:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_0
invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
19: aload 2
aload 4
invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
end local 4 20: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Ljdk/incubator/http/internal/websocket/Transmitter;
0 21 1 message Ljdk/incubator/http/internal/websocket/OutgoingMessage;
0 21 2 handler Ljava/util/function/Consumer<Ljava/lang/Exception;>;
1 21 3 b Z
3 16 4 sent Z
12 16 5 e Ljava/io/IOException;
18 20 4 e Ljava/io/IOException;
Exception table:
from to target type
9 10 11 Class java.io.IOException
2 16 17 Class java.io.IOException
Signature: (Ljdk/incubator/http/internal/websocket/OutgoingMessage;Ljava/util/function/Consumer<Ljava/lang/Exception;>;)V
MethodParameters:
Name Flags
message
handler
}
SourceFile: "Transmitter.java"
NestMembers:
jdk.incubator.http.internal.websocket.Transmitter$1
InnerClasses:
public abstract RawEvent = jdk.incubator.http.internal.websocket.RawChannel$RawEvent of jdk.incubator.http.internal.websocket.RawChannel
jdk.incubator.http.internal.websocket.Transmitter$1