class java.net.PlainSocketImpl extends java.net.AbstractPlainSocketImpl
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: java.net.PlainSocketImpl
super_class: java.net.AbstractPlainSocketImpl
{
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=0, locals=0, args_size=0
0: invokestatic java.net.PlainSocketImpl.initProto:()V
1: return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.net.AbstractPlainSocketImpl.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/net/PlainSocketImpl;
void <init>(java.io.FileDescriptor);
descriptor: (Ljava/io/FileDescriptor;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.net.AbstractPlainSocketImpl.<init>:()V
1: aload 0
aload 1
putfield java.net.PlainSocketImpl.fd:Ljava/io/FileDescriptor;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/net/PlainSocketImpl;
0 3 1 fd Ljava/io/FileDescriptor;
MethodParameters:
Name Flags
fd
protected <T> void setOption(java.net.SocketOption<T>, );
descriptor: (Ljava/net/SocketOption;Ljava/lang/Object;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getstatic jdk.net.ExtendedSocketOptions.SO_FLOW_SLA:Ljava/net/SocketOption;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 4
1: aload 0
aload 1
aload 2
ldc Ljdk/net/SocketFlow;
invokevirtual java.net.PlainSocketImpl.checkSetOption:(Ljava/net/SocketOption;Ljava/lang/Object;Ljava/lang/Class;)V
2: aload 0
invokevirtual java.net.PlainSocketImpl.getFileDescriptor:()Ljava/io/FileDescriptor;
aload 2
checkcast jdk.net.SocketFlow
invokestatic sun.net.ExtendedOptionsImpl.setFlowOption:(Ljava/io/FileDescriptor;Ljdk/net/SocketFlow;)V
3: goto 17
StackMap locals:
StackMap stack:
4: aload 1
getstatic jdk.net.ExtendedSocketOptions.TCP_KEEPIDLE:Ljava/net/SocketOption;
if_acmpne 8
5: aload 0
aload 1
aload 2
ldc Ljava/lang/Integer;
invokevirtual java.net.PlainSocketImpl.checkSetOption:(Ljava/net/SocketOption;Ljava/lang/Object;Ljava/lang/Class;)V
6: aload 0
invokevirtual java.net.PlainSocketImpl.getFileDescriptor:()Ljava/io/FileDescriptor;
aload 2
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
invokestatic sun.net.ExtendedOptionsImpl.setTcpKeepAliveTime:(Ljava/io/FileDescriptor;I)V
7: goto 17
StackMap locals:
StackMap stack:
8: aload 1
getstatic jdk.net.ExtendedSocketOptions.TCP_KEEPINTERVAL:Ljava/net/SocketOption;
if_acmpne 12
9: aload 0
aload 1
aload 2
ldc Ljava/lang/Integer;
invokevirtual java.net.PlainSocketImpl.checkSetOption:(Ljava/net/SocketOption;Ljava/lang/Object;Ljava/lang/Class;)V
10: aload 0
invokevirtual java.net.PlainSocketImpl.getFileDescriptor:()Ljava/io/FileDescriptor;
aload 2
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
invokestatic sun.net.ExtendedOptionsImpl.setTcpKeepAliveIntvl:(Ljava/io/FileDescriptor;I)V
11: goto 17
StackMap locals:
StackMap stack:
12: aload 1
getstatic jdk.net.ExtendedSocketOptions.TCP_KEEPCOUNT:Ljava/net/SocketOption;
if_acmpne 16
13: aload 0
aload 1
aload 2
ldc Ljava/lang/Integer;
invokevirtual java.net.PlainSocketImpl.checkSetOption:(Ljava/net/SocketOption;Ljava/lang/Object;Ljava/lang/Class;)V
14: aload 0
invokevirtual java.net.PlainSocketImpl.getFileDescriptor:()Ljava/io/FileDescriptor;
aload 2
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
invokestatic sun.net.ExtendedOptionsImpl.setTcpKeepAliveProbes:(Ljava/io/FileDescriptor;I)V
15: goto 17
16: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokespecial java.net.AbstractPlainSocketImpl.setOption:(Ljava/net/SocketOption;Ljava/lang/Object;)V
17: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Ljava/net/PlainSocketImpl;
0 18 1 name Ljava/net/SocketOption<TT;>;
0 18 2 value TT;
Exceptions:
throws java.io.IOException
Signature: <T:Ljava/lang/Object;>(Ljava/net/SocketOption<TT;>;TT;)V
MethodParameters:
Name Flags
name
value
private <T> void checkSetOption(java.net.SocketOption<T>, T, java.lang.Class<?>);
descriptor: (Ljava/net/SocketOption;Ljava/lang/Object;Ljava/lang/Class;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual java.net.PlainSocketImpl.isClosedOrPending:()Z
ifeq 2
1: new java.net.SocketException
dup
ldc "Socket closed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
invokestatic sun.net.ExtendedOptionsImpl.checkSetOptionPermission:(Ljava/net/SocketOption;)V
3: aload 2
aload 3
invokestatic sun.net.ExtendedOptionsImpl.checkValueType:(Ljava/lang/Object;Ljava/lang/Class;)V
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/net/PlainSocketImpl;
0 5 1 name Ljava/net/SocketOption<TT;>;
0 5 2 value TT;
0 5 3 expected Ljava/lang/Class<*>;
Exceptions:
throws java.io.IOException
Signature: <T:Ljava/lang/Object;>(Ljava/net/SocketOption<TT;>;TT;Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
name
value
expected
private <T> void checkGetOption(java.net.SocketOption<T>);
descriptor: (Ljava/net/SocketOption;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.net.PlainSocketImpl.isClosedOrPending:()Z
ifeq 2
1: new java.net.SocketException
dup
ldc "Socket closed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
invokestatic sun.net.ExtendedOptionsImpl.checkGetOptionPermission:(Ljava/net/SocketOption;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/net/PlainSocketImpl;
0 4 1 name Ljava/net/SocketOption<TT;>;
Exceptions:
throws java.io.IOException
Signature: <T:Ljava/lang/Object;>(Ljava/net/SocketOption<TT;>;)V
MethodParameters:
Name Flags
name
protected <T> T getOption(java.net.SocketOption<T>);
descriptor: (Ljava/net/SocketOption;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
getstatic jdk.net.ExtendedSocketOptions.SO_FLOW_SLA:Ljava/net/SocketOption;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 5
1: aload 0
aload 1
invokevirtual java.net.PlainSocketImpl.checkGetOption:(Ljava/net/SocketOption;)V
2: invokestatic jdk.net.SocketFlow.create:()Ljdk/net/SocketFlow;
astore 2
start local 2 3: aload 0
invokevirtual java.net.PlainSocketImpl.getFileDescriptor:()Ljava/io/FileDescriptor;
aload 2
invokestatic sun.net.ExtendedOptionsImpl.getFlowOption:(Ljava/io/FileDescriptor;Ljdk/net/SocketFlow;)V
4: aload 2
areturn
end local 2 5: StackMap locals:
StackMap stack:
aload 1
getstatic jdk.net.ExtendedSocketOptions.TCP_KEEPIDLE:Ljava/net/SocketOption;
if_acmpne 9
6: aload 0
aload 1
invokevirtual java.net.PlainSocketImpl.checkGetOption:(Ljava/net/SocketOption;)V
7: aload 0
invokevirtual java.net.PlainSocketImpl.getFileDescriptor:()Ljava/io/FileDescriptor;
invokestatic sun.net.ExtendedOptionsImpl.getTcpKeepAliveTime:(Ljava/io/FileDescriptor;)I
istore 2
start local 2 8: iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
end local 2 9: StackMap locals:
StackMap stack:
aload 1
getstatic jdk.net.ExtendedSocketOptions.TCP_KEEPINTERVAL:Ljava/net/SocketOption;
if_acmpne 13
10: aload 0
aload 1
invokevirtual java.net.PlainSocketImpl.checkGetOption:(Ljava/net/SocketOption;)V
11: aload 0
invokevirtual java.net.PlainSocketImpl.getFileDescriptor:()Ljava/io/FileDescriptor;
invokestatic sun.net.ExtendedOptionsImpl.getTcpKeepAliveIntvl:(Ljava/io/FileDescriptor;)I
istore 2
start local 2 12: iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
end local 2 13: StackMap locals:
StackMap stack:
aload 1
getstatic jdk.net.ExtendedSocketOptions.TCP_KEEPCOUNT:Ljava/net/SocketOption;
if_acmpne 17
14: aload 0
aload 1
invokevirtual java.net.PlainSocketImpl.checkGetOption:(Ljava/net/SocketOption;)V
15: aload 0
invokevirtual java.net.PlainSocketImpl.getFileDescriptor:()Ljava/io/FileDescriptor;
invokestatic sun.net.ExtendedOptionsImpl.getTcpKeepAliveProbes:(Ljava/io/FileDescriptor;)I
istore 2
start local 2 16: iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
end local 2 17: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial java.net.AbstractPlainSocketImpl.getOption:(Ljava/net/SocketOption;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Ljava/net/PlainSocketImpl;
0 18 1 name Ljava/net/SocketOption<TT;>;
3 5 2 flow Ljdk/net/SocketFlow;
8 9 2 retVal I
12 13 2 retVal I
16 17 2 retVal I
Exceptions:
throws java.io.IOException
Signature: <T:Ljava/lang/Object;>(Ljava/net/SocketOption<TT;>;)TT;
MethodParameters:
Name Flags
name
protected void socketSetOption(int, boolean, java.lang.Object);
descriptor: (IZLjava/lang/Object;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 1
iload 2
aload 3
invokevirtual java.net.PlainSocketImpl.socketSetOption0:(IZLjava/lang/Object;)V
1: goto 5
StackMap locals:
StackMap stack: java.net.SocketException
2: astore 4
start local 4 3: aload 0
getfield java.net.PlainSocketImpl.socket:Ljava/net/Socket;
ifnull 4
aload 0
getfield java.net.PlainSocketImpl.socket:Ljava/net/Socket;
invokevirtual java.net.Socket.isConnected:()Z
ifne 5
4: StackMap locals: java.net.SocketException
StackMap stack:
aload 4
athrow
end local 4 5: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/net/PlainSocketImpl;
0 6 1 opt I
0 6 2 b Z
0 6 3 val Ljava/lang/Object;
3 5 4 se Ljava/net/SocketException;
Exception table:
from to target type
0 1 2 Class java.net.SocketException
Exceptions:
throws java.net.SocketException
MethodParameters:
Name Flags
opt
b
val
native void socketCreate(boolean);
descriptor: (Z)V
flags: (0x0100) ACC_NATIVE
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
isServer
native void socketConnect(java.net.InetAddress, int, int);
descriptor: (Ljava/net/InetAddress;II)V
flags: (0x0100) ACC_NATIVE
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
address
port
timeout
native void socketBind(java.net.InetAddress, int);
descriptor: (Ljava/net/InetAddress;I)V
flags: (0x0100) ACC_NATIVE
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
address
port
native void socketListen(int);
descriptor: (I)V
flags: (0x0100) ACC_NATIVE
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
count
native void socketAccept(java.net.SocketImpl);
descriptor: (Ljava/net/SocketImpl;)V
flags: (0x0100) ACC_NATIVE
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
s
native int socketAvailable();
descriptor: ()I
flags: (0x0100) ACC_NATIVE
Exceptions:
throws java.io.IOException
native void socketClose0(boolean);
descriptor: (Z)V
flags: (0x0100) ACC_NATIVE
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
useDeferredClose
native void socketShutdown(int);
descriptor: (I)V
flags: (0x0100) ACC_NATIVE
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
howto
static native void initProto();
descriptor: ()V
flags: (0x0108) ACC_STATIC, ACC_NATIVE
native void socketSetOption0(int, boolean, java.lang.Object);
descriptor: (IZLjava/lang/Object;)V
flags: (0x0100) ACC_NATIVE
Exceptions:
throws java.net.SocketException
MethodParameters:
Name Flags
cmd
on
value
native int socketGetOption(int, java.lang.Object);
descriptor: (ILjava/lang/Object;)I
flags: (0x0100) ACC_NATIVE
Exceptions:
throws java.net.SocketException
MethodParameters:
Name Flags
opt
iaContainerObj
native void socketSendUrgentData(int);
descriptor: (I)V
flags: (0x0100) ACC_NATIVE
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
data
}
SourceFile: "PlainSocketImpl.java"