public class jdk.internal.net.http.websocket.MessageEncoder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: jdk.internal.net.http.websocket.MessageEncoder
super_class: java.lang.Object
{
private static final jdk.internal.net.http.common.Logger debug;
descriptor: Ljdk/internal/net/http/common/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.security.SecureRandom maskingKeySource;
descriptor: Ljava/security/SecureRandom;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.internal.net.http.websocket.Frame$HeaderWriter ;
descriptor: Ljdk/internal/net/http/websocket/Frame$HeaderWriter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.internal.net.http.websocket.Frame$Masker payloadMasker;
descriptor: Ljdk/internal/net/http/websocket/Frame$Masker;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.nio.charset.CharsetEncoder charsetEncoder;
descriptor: Ljava/nio/charset/CharsetEncoder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.nio.ByteBuffer intermediateBuffer;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.nio.ByteBuffer ;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean started;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean flushing;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean moreText;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private long ;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private boolean previousFin;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean previousText;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean closed;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int actualLen;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int expectedLen;
descriptor: I
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc "[Output]"
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic get(Ljava/lang/String;)Ljava/util/function/Supplier;
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;
java/lang/String.toString()Ljava/lang/String; (5)
()Ljava/lang/String;
getstatic jdk.internal.net.http.common.Utils.DEBUG_WS:Z
invokestatic jdk.internal.net.http.common.Utils.getWebSocketLogger:(Ljava/util/function/Supplier;Z)Ljdk/internal/net/http/common/Logger;
1: putstatic jdk.internal.net.http.websocket.MessageEncoder.debug:Ljdk/internal/net/http/common/Logger;
2: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.security.SecureRandom
dup
invokespecial java.security.SecureRandom.<init>:()V
putfield jdk.internal.net.http.websocket.MessageEncoder.maskingKeySource:Ljava/security/SecureRandom;
2: aload 0
new jdk.internal.net.http.websocket.Frame$HeaderWriter
dup
invokespecial jdk.internal.net.http.websocket.Frame$HeaderWriter.<init>:()V
putfield jdk.internal.net.http.websocket.MessageEncoder.headerWriter:Ljdk/internal/net/http/websocket/Frame$HeaderWriter;
3: aload 0
new jdk.internal.net.http.websocket.Frame$Masker
dup
invokespecial jdk.internal.net.http.websocket.Frame$Masker.<init>:()V
putfield jdk.internal.net.http.websocket.MessageEncoder.payloadMasker:Ljdk/internal/net/http/websocket/Frame$Masker;
4: aload 0
5: getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokevirtual java.nio.charset.Charset.newEncoder:()Ljava/nio/charset/CharsetEncoder;
6: getstatic java.nio.charset.CodingErrorAction.REPORT:Ljava/nio/charset/CodingErrorAction;
invokevirtual java.nio.charset.CharsetEncoder.onMalformedInput:(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetEncoder;
7: getstatic java.nio.charset.CodingErrorAction.REPORT:Ljava/nio/charset/CodingErrorAction;
invokevirtual java.nio.charset.CharsetEncoder.onUnmappableCharacter:(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetEncoder;
putfield jdk.internal.net.http.websocket.MessageEncoder.charsetEncoder:Ljava/nio/charset/CharsetEncoder;
8: aload 0
aload 0
9: bipush 125
10: invokevirtual jdk.internal.net.http.websocket.MessageEncoder.createIntermediateBuffer:(I)Ljava/nio/ByteBuffer;
putfield jdk.internal.net.http.websocket.MessageEncoder.intermediateBuffer:Ljava/nio/ByteBuffer;
11: aload 0
12: bipush 14
13: invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
putfield jdk.internal.net.http.websocket.MessageEncoder.headerBuffer:Ljava/nio/ByteBuffer;
14: aload 0
iconst_1
putfield jdk.internal.net.http.websocket.MessageEncoder.moreText:Z
15: aload 0
iconst_1
putfield jdk.internal.net.http.websocket.MessageEncoder.previousFin:Z
16: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Ljdk/internal/net/http/websocket/MessageEncoder;
protected java.nio.ByteBuffer createIntermediateBuffer(int);
descriptor: (I)Ljava/nio/ByteBuffer;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: ldc "jdk.httpclient.websocket.intermediateBufferSize"
sipush 16384
1: invokestatic jdk.internal.net.http.common.Utils.getIntegerNetProperty:(Ljava/lang/String;I)I
istore 2
start local 2 2: iload 1
iload 2
invokestatic java.lang.Math.max:(II)I
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/internal/net/http/websocket/MessageEncoder;
0 3 1 minSize I
2 3 2 capacity I
MethodParameters:
Name Flags
minSize
public void reset();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield jdk.internal.net.http.websocket.MessageEncoder.started:Z
1: aload 0
iconst_0
putfield jdk.internal.net.http.websocket.MessageEncoder.flushing:Z
2: aload 0
iconst_1
putfield jdk.internal.net.http.websocket.MessageEncoder.moreText:Z
3: aload 0
lconst_0
putfield jdk.internal.net.http.websocket.MessageEncoder.headerCount:J
4: aload 0
iconst_0
putfield jdk.internal.net.http.websocket.MessageEncoder.actualLen:I
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/internal/net/http/websocket/MessageEncoder;
public boolean encodeText(java.nio.CharBuffer, boolean, java.nio.ByteBuffer);
descriptor: (Ljava/nio/CharBuffer;ZLjava/nio/ByteBuffer;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic jdk.internal.net.http.websocket.MessageEncoder.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 4
1: getstatic jdk.internal.net.http.websocket.MessageEncoder.debug:Ljdk/internal/net/http/common/Logger;
ldc "encode text src=[pos=%s lim=%s cap=%s] last=%s dst=%s"
iconst_5
anewarray java.lang.Object
dup
iconst_0
2: aload 1
invokevirtual java.nio.CharBuffer.position:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 1
invokevirtual java.nio.CharBuffer.limit:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 1
invokevirtual java.nio.CharBuffer.capacity:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_3
iload 2
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
dup
iconst_4
aload 3
aastore
3: invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
4: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.closed:Z
ifeq 6
5: new java.io.IOException
dup
ldc "Output closed"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.started:Z
ifne 13
7: aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.previousText:Z
ifne 9
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.previousFin:Z
ifne 9
8: new java.lang.IllegalStateException
dup
ldc "Unexpected text message"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield jdk.internal.net.http.websocket.MessageEncoder.started:Z
10: aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.headerBuffer:Ljava/nio/ByteBuffer;
iconst_0
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
iconst_0
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/ByteBuffer;
pop
11: aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.intermediateBuffer:Ljava/nio/ByteBuffer;
iconst_0
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
iconst_0
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/ByteBuffer;
pop
12: aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.charsetEncoder:Ljava/nio/charset/CharsetEncoder;
invokevirtual java.nio.charset.CharsetEncoder.reset:()Ljava/nio/charset/CharsetEncoder;
pop
13: StackMap locals:
StackMap stack:
getstatic jdk.internal.net.http.websocket.MessageEncoder.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 15
14: getstatic jdk.internal.net.http.websocket.MessageEncoder.debug:Ljdk/internal/net/http/common/Logger;
ldc "put"
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;)V
15: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.headerBuffer:Ljava/nio/ByteBuffer;
aload 3
invokevirtual jdk.internal.net.http.websocket.MessageEncoder.putAvailable:(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Z
ifne 17
16: iconst_0
ireturn
17: StackMap locals:
StackMap stack:
getstatic jdk.internal.net.http.websocket.MessageEncoder.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 19
18: getstatic jdk.internal.net.http.websocket.MessageEncoder.debug:Ljdk/internal/net/http/common/Logger;
ldc "mask"
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;)V
19: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.intermediateBuffer:Ljava/nio/ByteBuffer;
aload 3
invokevirtual jdk.internal.net.http.websocket.MessageEncoder.maskAvailable:(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I
ifge 21
20: iconst_0
ireturn
21: StackMap locals:
StackMap stack:
getstatic jdk.internal.net.http.websocket.MessageEncoder.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 23
22: getstatic jdk.internal.net.http.websocket.MessageEncoder.debug:Ljdk/internal/net/http/common/Logger;
ldc "moreText"
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;)V
23: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.moreText:Z
ifne 27
24: aload 0
iload 2
putfield jdk.internal.net.http.websocket.MessageEncoder.previousFin:Z
25: aload 0
iconst_1
putfield jdk.internal.net.http.websocket.MessageEncoder.previousText:Z
26: iconst_1
ireturn
27: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.intermediateBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/ByteBuffer;
pop
28: aconst_null
astore 4
start local 4 29: aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.flushing:Z
ifne 33
30: aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.charsetEncoder:Ljava/nio/charset/CharsetEncoder;
aload 1
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.intermediateBuffer:Ljava/nio/ByteBuffer;
iconst_1
invokevirtual java.nio.charset.CharsetEncoder.encode:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;Z)Ljava/nio/charset/CoderResult;
astore 4
31: aload 4
invokevirtual java.nio.charset.CoderResult.isUnderflow:()Z
ifeq 33
32: aload 0
iconst_1
putfield jdk.internal.net.http.websocket.MessageEncoder.flushing:Z
33: StackMap locals: java.nio.charset.CoderResult
StackMap stack:
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.flushing:Z
ifeq 37
34: aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.charsetEncoder:Ljava/nio/charset/CharsetEncoder;
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.intermediateBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.charset.CharsetEncoder.flush:(Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
astore 4
35: aload 4
invokevirtual java.nio.charset.CoderResult.isUnderflow:()Z
ifeq 37
36: aload 0
iconst_0
putfield jdk.internal.net.http.websocket.MessageEncoder.moreText:Z
37: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.nio.charset.CoderResult.isError:()Z
ifeq 42
38: aload 4
invokevirtual java.nio.charset.CoderResult.throwException:()V
39: goto 42
StackMap locals:
StackMap stack: java.nio.charset.CharacterCodingException
40: astore 5
start local 5 41: new java.io.IOException
dup
ldc "Malformed text message"
aload 5
invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 5 42: StackMap locals:
StackMap stack:
getstatic jdk.internal.net.http.websocket.MessageEncoder.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 44
43: getstatic jdk.internal.net.http.websocket.MessageEncoder.debug:Ljdk/internal/net/http/common/Logger;
ldc "frame #%s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.headerCount:J
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
44: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.intermediateBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/ByteBuffer;
pop
45: aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.previousFin:Z
ifeq 47
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.headerCount:J
lconst_0
lcmp
ifne 47
46: getstatic jdk.internal.net.http.websocket.Frame$Opcode.TEXT:Ljdk/internal/net/http/websocket/Frame$Opcode;
goto 48
StackMap locals:
StackMap stack:
47: getstatic jdk.internal.net.http.websocket.Frame$Opcode.CONTINUATION:Ljdk/internal/net/http/websocket/Frame$Opcode;
48: StackMap locals:
StackMap stack: jdk.internal.net.http.websocket.Frame$Opcode
astore 5
start local 5 49: iload 2
ifeq 50
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.moreText:Z
ifne 50
iconst_1
goto 51
StackMap locals: jdk.internal.net.http.websocket.Frame$Opcode
StackMap stack:
50: iconst_0
StackMap locals:
StackMap stack: int
51: istore 6
start local 6 52: aload 0
aload 5
iload 6
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.intermediateBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
i2l
invokevirtual jdk.internal.net.http.websocket.MessageEncoder.setupHeader:(Ljdk/internal/net/http/websocket/Frame$Opcode;ZJ)V
53: aload 0
dup
getfield jdk.internal.net.http.websocket.MessageEncoder.headerCount:J
lconst_1
ladd
putfield jdk.internal.net.http.websocket.MessageEncoder.headerCount:J
end local 6 end local 5 end local 4 54: goto 13
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 55 0 this Ljdk/internal/net/http/websocket/MessageEncoder;
0 55 1 src Ljava/nio/CharBuffer;
0 55 2 last Z
0 55 3 dst Ljava/nio/ByteBuffer;
29 54 4 r Ljava/nio/charset/CoderResult;
41 42 5 e Ljava/nio/charset/CharacterCodingException;
49 54 5 opcode Ljdk/internal/net/http/websocket/Frame$Opcode;
52 54 6 fin Z
Exception table:
from to target type
38 39 40 Class java.nio.charset.CharacterCodingException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
src
last
dst
private boolean putAvailable(java.nio.ByteBuffer, java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 3
start local 3 1: iload 3
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
if_icmplt 4
2: aload 2
aload 1
invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
pop
3: iconst_1
ireturn
4: StackMap locals: int
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.limit:()I
istore 4
start local 4 5: aload 1
aload 1
invokevirtual java.nio.ByteBuffer.position:()I
iload 3
iadd
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/ByteBuffer;
pop
6: aload 2
aload 1
invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
pop
7: aload 1
iload 4
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/ByteBuffer;
pop
8: iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/internal/net/http/websocket/MessageEncoder;
0 9 1 src Ljava/nio/ByteBuffer;
0 9 2 dst Ljava/nio/ByteBuffer;
1 9 3 available I
5 9 4 lim I
MethodParameters:
Name Flags
src
dst
public boolean encodeBinary(java.nio.ByteBuffer, boolean, java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;ZLjava/nio/ByteBuffer;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic jdk.internal.net.http.websocket.MessageEncoder.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 4
1: getstatic jdk.internal.net.http.websocket.MessageEncoder.debug:Ljdk/internal/net/http/common/Logger;
ldc "encode binary src=%s last=%s dst=%s"
iconst_3
anewarray java.lang.Object
dup
iconst_0
2: aload 1
aastore
dup
iconst_1
iload 2
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
dup
iconst_2
aload 3
aastore
3: invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
4: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.closed:Z
ifeq 6
5: new java.io.IOException
dup
ldc "Output closed"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.started:Z
ifne 17
7: aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.previousText:Z
ifeq 9
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.previousFin:Z
ifne 9
8: new java.lang.IllegalStateException
dup
ldc "Unexpected binary message"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
putfield jdk.internal.net.http.websocket.MessageEncoder.expectedLen:I
10: aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.previousFin:Z
ifeq 11
getstatic jdk.internal.net.http.websocket.Frame$Opcode.BINARY:Ljdk/internal/net/http/websocket/Frame$Opcode;
goto 12
StackMap locals:
StackMap stack:
11: getstatic jdk.internal.net.http.websocket.Frame$Opcode.CONTINUATION:Ljdk/internal/net/http/websocket/Frame$Opcode;
StackMap locals:
StackMap stack: jdk.internal.net.http.websocket.Frame$Opcode
12: astore 4
start local 4 13: aload 0
aload 4
iload 2
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.expectedLen:I
i2l
invokevirtual jdk.internal.net.http.websocket.MessageEncoder.setupHeader:(Ljdk/internal/net/http/websocket/Frame$Opcode;ZJ)V
14: aload 0
iload 2
putfield jdk.internal.net.http.websocket.MessageEncoder.previousFin:Z
15: aload 0
iconst_0
putfield jdk.internal.net.http.websocket.MessageEncoder.previousText:Z
16: aload 0
iconst_1
putfield jdk.internal.net.http.websocket.MessageEncoder.started:Z
end local 4 17: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.headerBuffer:Ljava/nio/ByteBuffer;
aload 3
invokevirtual jdk.internal.net.http.websocket.MessageEncoder.putAvailable:(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Z
ifne 19
18: iconst_0
ireturn
19: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 3
invokevirtual jdk.internal.net.http.websocket.MessageEncoder.maskAvailable:(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I
istore 4
start local 4 20: aload 0
dup
getfield jdk.internal.net.http.websocket.MessageEncoder.actualLen:I
iload 4
invokestatic java.lang.Math.abs:(I)I
iadd
putfield jdk.internal.net.http.websocket.MessageEncoder.actualLen:I
21: iload 4
iflt 23
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.actualLen:I
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.expectedLen:I
if_icmpeq 23
22: new java.io.IOException
dup
ldc "Concurrent message modification"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
23: StackMap locals: int
StackMap stack:
iload 4
iflt 24
iconst_1
ireturn
StackMap locals:
StackMap stack:
24: iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Ljdk/internal/net/http/websocket/MessageEncoder;
0 25 1 src Ljava/nio/ByteBuffer;
0 25 2 last Z
0 25 3 dst Ljava/nio/ByteBuffer;
13 17 4 opcode Ljdk/internal/net/http/websocket/Frame$Opcode;
20 25 4 count I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
src
last
dst
private int maskAvailable(java.nio.ByteBuffer, java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 3
start local 3 1: aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.payloadMasker:Ljdk/internal/net/http/websocket/Frame$Masker;
aload 1
aload 2
invokevirtual jdk.internal.net.http.websocket.Frame$Masker.transferMasking:(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Ljdk/internal/net/http/websocket/Frame$Masker;
pop
2: iload 3
aload 2
invokevirtual java.nio.ByteBuffer.remaining:()I
isub
istore 4
start local 4 3: aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 4
iload 4
ineg
goto 5
StackMap locals: int int
StackMap stack:
4: iload 4
StackMap locals:
StackMap stack: int
5: ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/internal/net/http/websocket/MessageEncoder;
0 6 1 src Ljava/nio/ByteBuffer;
0 6 2 dst Ljava/nio/ByteBuffer;
1 6 3 r0 I
3 6 4 masked I
MethodParameters:
Name Flags
src
dst
public boolean encodePing(java.nio.ByteBuffer, java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: getstatic jdk.internal.net.http.websocket.MessageEncoder.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 2
1: getstatic jdk.internal.net.http.websocket.MessageEncoder.debug:Ljdk/internal/net/http/common/Logger;
ldc "encode ping src=%s dst=%s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.closed:Z
ifeq 4
3: new java.io.IOException
dup
ldc "Output closed"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.started:Z
ifne 10
5: aload 0
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
putfield jdk.internal.net.http.websocket.MessageEncoder.expectedLen:I
6: aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.expectedLen:I
bipush 125
if_icmple 8
7: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Long message: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.expectedLen:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
aload 0
getstatic jdk.internal.net.http.websocket.Frame$Opcode.PING:Ljdk/internal/net/http/websocket/Frame$Opcode;
iconst_1
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.expectedLen:I
i2l
invokevirtual jdk.internal.net.http.websocket.MessageEncoder.setupHeader:(Ljdk/internal/net/http/websocket/Frame$Opcode;ZJ)V
9: aload 0
iconst_1
putfield jdk.internal.net.http.websocket.MessageEncoder.started:Z
10: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.headerBuffer:Ljava/nio/ByteBuffer;
aload 2
invokevirtual jdk.internal.net.http.websocket.MessageEncoder.putAvailable:(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Z
ifne 12
11: iconst_0
ireturn
12: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual jdk.internal.net.http.websocket.MessageEncoder.maskAvailable:(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I
istore 3
start local 3 13: aload 0
dup
getfield jdk.internal.net.http.websocket.MessageEncoder.actualLen:I
iload 3
invokestatic java.lang.Math.abs:(I)I
iadd
putfield jdk.internal.net.http.websocket.MessageEncoder.actualLen:I
14: iload 3
iflt 16
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.actualLen:I
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.expectedLen:I
if_icmpeq 16
15: new java.io.IOException
dup
ldc "Concurrent message modification"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals: int
StackMap stack:
iload 3
iflt 17
iconst_1
ireturn
StackMap locals:
StackMap stack:
17: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Ljdk/internal/net/http/websocket/MessageEncoder;
0 18 1 src Ljava/nio/ByteBuffer;
0 18 2 dst Ljava/nio/ByteBuffer;
13 18 3 count I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
src
dst
public boolean encodePong(java.nio.ByteBuffer, java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: getstatic jdk.internal.net.http.websocket.MessageEncoder.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 4
1: getstatic jdk.internal.net.http.websocket.MessageEncoder.debug:Ljdk/internal/net/http/common/Logger;
ldc "encode pong src=%s dst=%s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
2: aload 1
aastore
dup
iconst_1
aload 2
aastore
3: invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
4: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.closed:Z
ifeq 6
5: new java.io.IOException
dup
ldc "Output closed"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.started:Z
ifne 12
7: aload 0
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
putfield jdk.internal.net.http.websocket.MessageEncoder.expectedLen:I
8: aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.expectedLen:I
bipush 125
if_icmple 10
9: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Long message: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.expectedLen:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
aload 0
getstatic jdk.internal.net.http.websocket.Frame$Opcode.PONG:Ljdk/internal/net/http/websocket/Frame$Opcode;
iconst_1
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.expectedLen:I
i2l
invokevirtual jdk.internal.net.http.websocket.MessageEncoder.setupHeader:(Ljdk/internal/net/http/websocket/Frame$Opcode;ZJ)V
11: aload 0
iconst_1
putfield jdk.internal.net.http.websocket.MessageEncoder.started:Z
12: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.headerBuffer:Ljava/nio/ByteBuffer;
aload 2
invokevirtual jdk.internal.net.http.websocket.MessageEncoder.putAvailable:(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Z
ifne 14
13: iconst_0
ireturn
14: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual jdk.internal.net.http.websocket.MessageEncoder.maskAvailable:(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I
istore 3
start local 3 15: aload 0
dup
getfield jdk.internal.net.http.websocket.MessageEncoder.actualLen:I
iload 3
invokestatic java.lang.Math.abs:(I)I
iadd
putfield jdk.internal.net.http.websocket.MessageEncoder.actualLen:I
16: iload 3
iflt 18
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.actualLen:I
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.expectedLen:I
if_icmpeq 18
17: new java.io.IOException
dup
ldc "Concurrent message modification"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals: int
StackMap stack:
iload 3
iflt 19
iconst_1
ireturn
StackMap locals:
StackMap stack:
19: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Ljdk/internal/net/http/websocket/MessageEncoder;
0 20 1 src Ljava/nio/ByteBuffer;
0 20 2 dst Ljava/nio/ByteBuffer;
15 20 3 count I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
src
dst
public boolean encodeClose(int, java.nio.CharBuffer, java.nio.ByteBuffer);
descriptor: (ILjava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic jdk.internal.net.http.websocket.MessageEncoder.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 4
1: getstatic jdk.internal.net.http.websocket.MessageEncoder.debug:Ljdk/internal/net/http/common/Logger;
ldc "encode close statusCode=%s reason=[pos=%s lim=%s cap=%s] dst=%s"
iconst_5
anewarray java.lang.Object
dup
iconst_0
2: iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 2
invokevirtual java.nio.CharBuffer.position:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 2
invokevirtual java.nio.CharBuffer.limit:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_3
aload 2
invokevirtual java.nio.CharBuffer.capacity:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_4
aload 3
aastore
3: invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
4: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.closed:Z
ifeq 6
5: new java.io.IOException
dup
ldc "Output closed"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.started:Z
ifne 35
7: getstatic jdk.internal.net.http.websocket.MessageEncoder.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 11
8: getstatic jdk.internal.net.http.websocket.MessageEncoder.debug:Ljdk/internal/net/http/common/Logger;
ldc "reason [pos=%s lim=%s cap=%s]"
iconst_3
anewarray java.lang.Object
dup
iconst_0
9: aload 2
invokevirtual java.nio.CharBuffer.position:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 2
invokevirtual java.nio.CharBuffer.limit:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 2
invokevirtual java.nio.CharBuffer.capacity:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
10: invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
11: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.intermediateBuffer:Ljava/nio/ByteBuffer;
iconst_0
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
bipush 125
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/ByteBuffer;
pop
12: aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.intermediateBuffer:Ljava/nio/ByteBuffer;
iload 1
i2c
invokevirtual java.nio.ByteBuffer.putChar:(C)Ljava/nio/ByteBuffer;
pop
13: aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.charsetEncoder:Ljava/nio/charset/CharsetEncoder;
invokevirtual java.nio.charset.CharsetEncoder.reset:()Ljava/nio/charset/CharsetEncoder;
aload 2
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.intermediateBuffer:Ljava/nio/ByteBuffer;
iconst_1
invokevirtual java.nio.charset.CharsetEncoder.encode:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;Z)Ljava/nio/charset/CoderResult;
astore 4
start local 4 14: aload 4
invokevirtual java.nio.charset.CoderResult.isUnderflow:()Z
ifeq 18
15: getstatic jdk.internal.net.http.websocket.MessageEncoder.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 17
16: getstatic jdk.internal.net.http.websocket.MessageEncoder.debug:Ljdk/internal/net/http/common/Logger;
ldc "flushing"
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;)V
17: StackMap locals: java.nio.charset.CoderResult
StackMap stack:
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.charsetEncoder:Ljava/nio/charset/CharsetEncoder;
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.intermediateBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.charset.CharsetEncoder.flush:(Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
astore 4
18: StackMap locals:
StackMap stack:
getstatic jdk.internal.net.http.websocket.MessageEncoder.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 20
19: getstatic jdk.internal.net.http.websocket.MessageEncoder.debug:Ljdk/internal/net/http/common/Logger;
ldc "encoding result: %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
20: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.nio.charset.CoderResult.isError:()Z
ifeq 25
21: aload 4
invokevirtual java.nio.charset.CoderResult.throwException:()V
22: goto 29
StackMap locals:
StackMap stack: java.nio.charset.CharacterCodingException
23: astore 5
start local 5 24: new java.io.IOException
dup
ldc "Malformed reason"
aload 5
invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 5 25: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.nio.charset.CoderResult.isOverflow:()Z
ifeq 27
26: new java.io.IOException
dup
ldc "Long reason"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
27: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.nio.charset.CoderResult.isUnderflow:()Z
ifne 29
28: new java.lang.InternalError
dup
invokespecial java.lang.InternalError.<init>:()V
athrow
29: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.intermediateBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/ByteBuffer;
pop
30: aload 0
getstatic jdk.internal.net.http.websocket.Frame$Opcode.CLOSE:Ljdk/internal/net/http/websocket/Frame$Opcode;
iconst_1
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.intermediateBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
i2l
invokevirtual jdk.internal.net.http.websocket.MessageEncoder.setupHeader:(Ljdk/internal/net/http/websocket/Frame$Opcode;ZJ)V
31: aload 0
iconst_1
putfield jdk.internal.net.http.websocket.MessageEncoder.started:Z
32: aload 0
iconst_1
putfield jdk.internal.net.http.websocket.MessageEncoder.closed:Z
33: getstatic jdk.internal.net.http.websocket.MessageEncoder.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 35
34: getstatic jdk.internal.net.http.websocket.MessageEncoder.debug:Ljdk/internal/net/http/common/Logger;
ldc "intermediateBuffer=%s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.intermediateBuffer:Ljava/nio/ByteBuffer;
aastore
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 4 35: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.headerBuffer:Ljava/nio/ByteBuffer;
aload 3
invokevirtual jdk.internal.net.http.websocket.MessageEncoder.putAvailable:(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Z
ifne 37
36: iconst_0
ireturn
37: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.intermediateBuffer:Ljava/nio/ByteBuffer;
aload 3
invokevirtual jdk.internal.net.http.websocket.MessageEncoder.maskAvailable:(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I
iflt 38
iconst_1
ireturn
StackMap locals:
StackMap stack:
38: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 this Ljdk/internal/net/http/websocket/MessageEncoder;
0 39 1 statusCode I
0 39 2 reason Ljava/nio/CharBuffer;
0 39 3 dst Ljava/nio/ByteBuffer;
14 35 4 r Ljava/nio/charset/CoderResult;
24 25 5 e Ljava/nio/charset/CharacterCodingException;
Exception table:
from to target type
21 22 23 Class java.nio.charset.CharacterCodingException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
statusCode
reason
dst
private void (jdk.internal.net.http.websocket.Frame$Opcode, boolean, long);
descriptor: (Ljdk/internal/net/http/websocket/Frame$Opcode;ZJ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic jdk.internal.net.http.websocket.MessageEncoder.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 4
1: getstatic jdk.internal.net.http.websocket.MessageEncoder.debug:Ljdk/internal/net/http/common/Logger;
ldc "frame opcode=%s fin=%s len=%s"
iconst_3
anewarray java.lang.Object
dup
iconst_0
2: aload 1
aastore
dup
iconst_1
iload 2
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
dup
iconst_2
lload 3
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
3: invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
4: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.headerBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/ByteBuffer;
pop
5: aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.maskingKeySource:Ljava/security/SecureRandom;
invokevirtual java.security.SecureRandom.nextInt:()I
istore 5
start local 5 6: aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.headerWriter:Ljdk/internal/net/http/websocket/Frame$HeaderWriter;
iload 2
invokevirtual jdk.internal.net.http.websocket.Frame$HeaderWriter.fin:(Z)Ljdk/internal/net/http/websocket/Frame$HeaderWriter;
7: aload 1
invokevirtual jdk.internal.net.http.websocket.Frame$HeaderWriter.opcode:(Ljdk/internal/net/http/websocket/Frame$Opcode;)Ljdk/internal/net/http/websocket/Frame$HeaderWriter;
8: lload 3
invokevirtual jdk.internal.net.http.websocket.Frame$HeaderWriter.payloadLen:(J)Ljdk/internal/net/http/websocket/Frame$HeaderWriter;
9: iload 5
invokevirtual jdk.internal.net.http.websocket.Frame$HeaderWriter.mask:(I)Ljdk/internal/net/http/websocket/Frame$HeaderWriter;
10: aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.headerBuffer:Ljava/nio/ByteBuffer;
invokevirtual jdk.internal.net.http.websocket.Frame$HeaderWriter.write:(Ljava/nio/ByteBuffer;)V
11: aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.headerBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/ByteBuffer;
pop
12: aload 0
getfield jdk.internal.net.http.websocket.MessageEncoder.payloadMasker:Ljdk/internal/net/http/websocket/Frame$Masker;
iload 5
invokevirtual jdk.internal.net.http.websocket.Frame$Masker.mask:(I)Ljdk/internal/net/http/websocket/Frame$Masker;
pop
13: return
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljdk/internal/net/http/websocket/MessageEncoder;
0 14 1 opcode Ljdk/internal/net/http/websocket/Frame$Opcode;
0 14 2 fin Z
0 14 3 payloadLen J
6 14 5 mask I
MethodParameters:
Name Flags
opcode
fin
payloadLen
}
SourceFile: "MessageEncoder.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
final HeaderWriter = jdk.internal.net.http.websocket.Frame$HeaderWriter of jdk.internal.net.http.websocket.Frame
final Masker = jdk.internal.net.http.websocket.Frame$Masker of jdk.internal.net.http.websocket.Frame
final Opcode = jdk.internal.net.http.websocket.Frame$Opcode of jdk.internal.net.http.websocket.Frame