public class org.jruby.ext.socket.RubyBasicSocket extends org.jruby.RubyIO
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jruby.ext.socket.RubyBasicSocket
super_class: org.jruby.RubyIO
{
private static org.jruby.runtime.ObjectAllocator BASICSOCKET_ALLOCATOR;
descriptor: Lorg/jruby/runtime/ObjectAllocator;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static final org.jruby.util.ByteList FORMAT_SMALL_I;
descriptor: Lorg/jruby/util/ByteList;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
protected org.jruby.ext.socket.MulticastStateManager multicastStateManager;
descriptor: Lorg/jruby/ext/socket/MulticastStateManager;
flags: (0x0004) ACC_PROTECTED
private boolean doNotReverseLookup;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private static volatile int[] $SWITCH_TABLE$jnr$constants$platform$SocketLevel;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=0, args_size=0
0: new org.jruby.ext.socket.RubyBasicSocket$1
dup
invokespecial org.jruby.ext.socket.RubyBasicSocket$1.<init>:()V
putstatic org.jruby.ext.socket.RubyBasicSocket.BASICSOCKET_ALLOCATOR:Lorg/jruby/runtime/ObjectAllocator;
1: new org.jruby.util.ByteList
dup
iconst_1
newarray 8
dup
iconst_0
bipush 105
bastore
iconst_0
invokespecial org.jruby.util.ByteList.<init>:([BZ)V
putstatic org.jruby.ext.socket.RubyBasicSocket.FORMAT_SMALL_I:Lorg/jruby/util/ByteList;
return
LocalVariableTable:
Start End Slot Name Signature
static void createBasicSocket(org.jruby.Ruby);
descriptor: (Lorg/jruby/Ruby;)V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
ldc "BasicSocket"
aload 0
invokevirtual org.jruby.Ruby.getIO:()Lorg/jruby/RubyClass;
getstatic org.jruby.ext.socket.RubyBasicSocket.BASICSOCKET_ALLOCATOR:Lorg/jruby/runtime/ObjectAllocator;
invokevirtual org.jruby.Ruby.defineClass:(Ljava/lang/String;Lorg/jruby/RubyClass;Lorg/jruby/runtime/ObjectAllocator;)Lorg/jruby/RubyClass;
astore 1
start local 1 1: aload 1
ldc Lorg/jruby/ext/socket/RubyBasicSocket;
invokevirtual org.jruby.RubyClass.defineAnnotatedMethods:(Ljava/lang/Class;)V
2: aload 1
ldc "initialize"
invokevirtual org.jruby.RubyClass.undefineMethod:(Ljava/lang/String;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 runtime Lorg/jruby/Ruby;
1 4 1 rb_cBasicSocket Lorg/jruby/RubyClass;
MethodParameters:
Name Flags
runtime
public void <init>(org.jruby.Ruby, org.jruby.RubyClass);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokespecial org.jruby.RubyIO.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
1: aload 0
aconst_null
putfield org.jruby.ext.socket.RubyBasicSocket.multicastStateManager:Lorg/jruby/ext/socket/MulticastStateManager;
2: aload 0
iconst_0
putfield org.jruby.ext.socket.RubyBasicSocket.doNotReverseLookup:Z
3: aload 0
iconst_1
putfield org.jruby.ext.socket.RubyBasicSocket.doNotReverseLookup:Z
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/ext/socket/RubyBasicSocket;
0 5 1 runtime Lorg/jruby/Ruby;
0 5 2 type Lorg/jruby/RubyClass;
MethodParameters:
Name Flags
runtime
type
public static org.jruby.runtime.builtin.IRubyObject for_fd(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 3
start local 3 1: aload 2
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
invokevirtual org.jruby.RubyInteger.getLongValue:()J
l2i
istore 4
start local 4 2: aload 1
checkcast org.jruby.RubyClass
astore 5
start local 5 3: aload 3
invokevirtual org.jruby.Ruby.getFilenoUtil:()Lorg/jruby/util/io/FilenoUtil;
iload 4
invokevirtual org.jruby.util.io.FilenoUtil.getWrapperFromFileno:(I)Lorg/jruby/util/io/ChannelFD;
astore 6
start local 6 4: aload 5
invokevirtual org.jruby.RubyClass.getAllocator:()Lorg/jruby/runtime/ObjectAllocator;
aload 3
aload 5
invokeinterface org.jruby.runtime.ObjectAllocator.allocate:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.ext.socket.RubyBasicSocket
astore 7
start local 7 5: aload 7
aload 6
invokevirtual org.jruby.ext.socket.RubyBasicSocket.initSocket:(Lorg/jruby/util/io/ChannelFD;)V
6: aload 7
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 context Lorg/jruby/runtime/ThreadContext;
0 7 1 _klass Lorg/jruby/runtime/builtin/IRubyObject;
0 7 2 _fileno Lorg/jruby/runtime/builtin/IRubyObject;
1 7 3 runtime Lorg/jruby/Ruby;
2 7 4 fileno I
3 7 5 klass Lorg/jruby/RubyClass;
4 7 6 fd Lorg/jruby/util/io/ChannelFD;
5 7 7 basicSocket Lorg/jruby/ext/socket/RubyBasicSocket;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(meta = true)
MethodParameters:
Name Flags
context
_klass
_fileno
public org.jruby.runtime.builtin.IRubyObject do_not_reverse_lookup19(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 0
getfield org.jruby.ext.socket.RubyBasicSocket.doNotReverseLookup:Z
invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ext/socket/RubyBasicSocket;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"do_not_reverse_lookup"})
MethodParameters:
Name Flags
context
public org.jruby.runtime.builtin.IRubyObject set_do_not_reverse_lookup19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
putfield org.jruby.ext.socket.RubyBasicSocket.doNotReverseLookup:Z
1: aload 0
aload 1
invokevirtual org.jruby.ext.socket.RubyBasicSocket.do_not_reverse_lookup19:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ext/socket/RubyBasicSocket;
0 2 1 context Lorg/jruby/runtime/ThreadContext;
0 2 2 flag Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"do_not_reverse_lookup="})
MethodParameters:
Name Flags
context
flag
public static org.jruby.runtime.builtin.IRubyObject do_not_reverse_lookup(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.isDoNotReverseLookupEnabled:()Z
invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lorg/jruby/runtime/ThreadContext;
0 1 1 recv Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(meta = true)
MethodParameters:
Name Flags
context
recv
public static org.jruby.runtime.builtin.IRubyObject set_do_not_reverse_lookup(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 2
invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
invokevirtual org.jruby.Ruby.setDoNotReverseLookupEnabled:(Z)V
1: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 context Lorg/jruby/runtime/ThreadContext;
0 2 1 recv Lorg/jruby/runtime/builtin/IRubyObject;
0 2 2 flag Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"do_not_reverse_lookup="}, meta = true)
MethodParameters:
Name Flags
context
recv
flag
public org.jruby.runtime.builtin.IRubyObject send(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
invokevirtual org.jruby.ext.socket.RubyBasicSocket.syswrite:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ext/socket/RubyBasicSocket;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 _mesg Lorg/jruby/runtime/builtin/IRubyObject;
0 1 3 _flags Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"send"})
MethodParameters:
Name Flags
context
_mesg
_flags
public org.jruby.runtime.builtin.IRubyObject send(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
aload 3
invokevirtual org.jruby.ext.socket.RubyBasicSocket.send:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ext/socket/RubyBasicSocket;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 _mesg Lorg/jruby/runtime/builtin/IRubyObject;
0 1 3 _flags Lorg/jruby/runtime/builtin/IRubyObject;
0 1 4 _to Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"send"})
MethodParameters:
Name Flags
context
_mesg
_flags
_to
public org.jruby.runtime.builtin.IRubyObject recv(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
aconst_null
aconst_null
invokevirtual org.jruby.ext.socket.RubyBasicSocket.recv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyString;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ext/socket/RubyBasicSocket;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 length Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod()
MethodParameters:
Name Flags
context
length
public org.jruby.runtime.builtin.IRubyObject recv(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
arraylength
tableswitch { // 1 - 3
1: 11
2: 5
3: 1
default: 15
}
1: StackMap locals:
StackMap stack:
aload 2
iconst_0
aaload
astore 3
start local 3 2: aload 2
iconst_1
aaload
checkcast org.jruby.RubyString
astore 4
start local 4 3: aload 2
iconst_2
aaload
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToHash:()Lorg/jruby/RubyHash;
astore 5
start local 5 4: goto 18
end local 5 end local 4 end local 3 5: StackMap locals:
StackMap stack:
aload 2
iconst_0
aaload
astore 3
start local 3 6: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 2
iconst_1
aaload
invokestatic org.jruby.util.TypeConverter.checkHashType:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 5
start local 5 7: aload 5
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 8
aload 2
iconst_1
aaload
checkcast org.jruby.RubyString
goto 9
StackMap locals: org.jruby.ext.socket.RubyBasicSocket org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.builtin.IRubyObject top org.jruby.runtime.builtin.IRubyObject
StackMap stack:
8: aconst_null
StackMap locals:
StackMap stack: org.jruby.RubyString
9: astore 4
start local 4 10: goto 18
end local 5 end local 4 end local 3 11: StackMap locals: org.jruby.ext.socket.RubyBasicSocket org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[]
StackMap stack:
aload 2
iconst_0
aaload
astore 3
start local 3 12: aconst_null
astore 4
start local 4 13: aconst_null
astore 5
start local 5 14: goto 18
end local 5 end local 4 end local 3 15: StackMap locals:
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
astore 3
start local 3 16: aconst_null
astore 4
start local 4 17: aconst_null
astore 5
start local 5 18: StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.RubyString org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 0
aload 1
aload 3
aload 4
aload 5
invokevirtual org.jruby.ext.socket.RubyBasicSocket.recv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyString;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/jruby/ext/socket/RubyBasicSocket;
0 19 1 context Lorg/jruby/runtime/ThreadContext;
0 19 2 args [Lorg/jruby/runtime/builtin/IRubyObject;
2 5 3 length Lorg/jruby/runtime/builtin/IRubyObject;
6 11 3 length Lorg/jruby/runtime/builtin/IRubyObject;
12 15 3 length Lorg/jruby/runtime/builtin/IRubyObject;
16 19 3 length Lorg/jruby/runtime/builtin/IRubyObject;
3 5 4 str Lorg/jruby/RubyString;
10 11 4 str Lorg/jruby/RubyString;
13 15 4 str Lorg/jruby/RubyString;
17 19 4 str Lorg/jruby/RubyString;
4 5 5 flags Lorg/jruby/runtime/builtin/IRubyObject;
7 11 5 flags Lorg/jruby/runtime/builtin/IRubyObject;
14 15 5 flags Lorg/jruby/runtime/builtin/IRubyObject;
18 19 5 flags Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(required = 2, optional = 1)
MethodParameters:
Name Flags
context
args
private org.jruby.runtime.builtin.IRubyObject recv(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyString, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyString;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
astore 5
start local 5 1: aload 0
aload 1
aload 5
invokevirtual org.jruby.ext.socket.RubyBasicSocket.doRead:(Lorg/jruby/runtime/ThreadContext;Ljava/nio/ByteBuffer;)Lorg/jruby/util/ByteList;
astore 6
start local 6 2: aload 6
ifnonnull 3
aload 1
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
areturn
3: StackMap locals: java.nio.ByteBuffer org.jruby.util.ByteList
StackMap stack:
aload 3
ifnull 6
4: aload 3
aload 6
invokevirtual org.jruby.RubyString.setValue:(Lorg/jruby/util/ByteList;)V
5: aload 3
areturn
6: StackMap locals:
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 6
invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/ext/socket/RubyBasicSocket;
0 7 1 context Lorg/jruby/runtime/ThreadContext;
0 7 2 length Lorg/jruby/runtime/builtin/IRubyObject;
0 7 3 str Lorg/jruby/RubyString;
0 7 4 flags Lorg/jruby/runtime/builtin/IRubyObject;
1 7 5 buffer Ljava/nio/ByteBuffer;
2 7 6 bytes Lorg/jruby/util/ByteList;
MethodParameters:
Name Flags
context
length
str
flags
public org.jruby.runtime.builtin.IRubyObject recv_nonblock(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 2
arraylength
istore 3
start local 3 1: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 2
invokestatic org.jruby.ast.util.ArgsUtil.getOptionsArg:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 4
start local 4 2: aload 4
aload 1
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
if_acmpeq 3
iinc 3 -1
3: StackMap locals: int org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
astore 5
start local 5 4: aconst_null
astore 6
start local 6 5: iload 3
tableswitch { // 1 - 3
1: 8
2: 7
3: 6
default: 9
}
6: StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 2
iconst_2
aaload
astore 6
7: StackMap locals:
StackMap stack:
aload 2
iconst_1
aaload
pop
8: StackMap locals:
StackMap stack:
aload 2
iconst_0
aaload
astore 5
9: StackMap locals:
StackMap stack:
aload 5
invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
astore 7
start local 7 10: aload 0
aload 1
aload 7
invokevirtual org.jruby.ext.socket.RubyBasicSocket.doReadNonblock:(Lorg/jruby/runtime/ThreadContext;Ljava/nio/ByteBuffer;)Lorg/jruby/util/ByteList;
astore 8
start local 8 11: aload 8
ifnonnull 14
12: aload 1
aload 4
invokestatic org.jruby.ext.socket.RubyBasicSocket.extractExceptionArg:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
ifne 13
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
ldc "wait_readable"
invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
areturn
13: StackMap locals: java.nio.ByteBuffer org.jruby.util.ByteList
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
ldc "recvfrom(2)"
invokevirtual org.jruby.Ruby.newErrnoEAGAINReadableError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
14: StackMap locals:
StackMap stack:
aload 6
ifnull 18
aload 6
aload 1
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
if_acmpeq 18
15: aload 6
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
astore 6
16: aload 6
checkcast org.jruby.RubyString
aload 8
invokevirtual org.jruby.RubyString.setValue:(Lorg/jruby/util/ByteList;)V
17: aload 6
areturn
18: StackMap locals:
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 8
invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/jruby/ext/socket/RubyBasicSocket;
0 19 1 context Lorg/jruby/runtime/ThreadContext;
0 19 2 args [Lorg/jruby/runtime/builtin/IRubyObject;
1 19 3 argc I
2 19 4 opts Lorg/jruby/runtime/builtin/IRubyObject;
4 19 5 length Lorg/jruby/runtime/builtin/IRubyObject;
5 19 6 str Lorg/jruby/runtime/builtin/IRubyObject;
10 19 7 buffer Ljava/nio/ByteBuffer;
11 19 8 bytes Lorg/jruby/util/ByteList;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(required = 1, optional = 3)
MethodParameters:
Name Flags
context
args
public org.jruby.runtime.builtin.IRubyObject getsockopt(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 4
start local 4 1: aload 2
invokestatic org.jruby.ext.socket.SocketUtils.levelFromArg:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljnr/constants/platform/SocketLevel;
astore 5
start local 5 2: aload 3
invokestatic org.jruby.ext.socket.SocketUtils.optionFromArg:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljnr/constants/platform/SocketOption;
astore 6
start local 6 3: aload 0
invokevirtual org.jruby.ext.socket.RubyBasicSocket.getOpenChannel:()Ljava/nio/channels/Channel;
astore 7
start local 7 4: invokestatic org.jruby.ext.socket.RubyBasicSocket.$SWITCH_TABLE$jnr$constants$platform$SocketLevel:()[I
aload 5
invokevirtual jnr.constants.platform.SocketLevel.ordinal:()I
iaload
tableswitch { // 1 - 4
1: 5
2: 5
3: 5
4: 5
default: 17
}
5: StackMap locals: org.jruby.ext.socket.RubyBasicSocket org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby jnr.constants.platform.SocketLevel jnr.constants.platform.SocketOption java.nio.channels.Channel
StackMap stack:
aload 6
getstatic jnr.constants.platform.SocketOption.__UNKNOWN_CONSTANT__:Ljnr/constants/platform/SocketOption;
if_acmpne 7
6: aload 4
invokevirtual org.jruby.Ruby.newErrnoENOPROTOOPTError:()Lorg/jruby/exceptions/RaiseException;
athrow
7: StackMap locals:
StackMap stack:
aload 7
invokestatic org.jruby.ext.socket.SocketType.forChannel:(Ljava/nio/channels/Channel;)Lorg/jruby/ext/socket/SocketType;
aload 7
aload 6
invokevirtual org.jruby.ext.socket.SocketType.getSocketOption:(Ljava/nio/channels/Channel;Ljnr/constants/platform/SocketOption;)I
istore 8
start local 8 8: aload 6
getstatic jnr.constants.platform.SocketOption.SO_LINGER:Ljnr/constants/platform/SocketOption;
if_acmpne 14
9: iload 8
iconst_m1
if_icmpne 12
10: iconst_0
iconst_0
invokestatic org.jruby.ext.socket.Option.packLinger:(II)Lorg/jruby/util/ByteList;
astore 9
start local 9 11: goto 15
end local 9 12: StackMap locals: int
StackMap stack:
iconst_1
iload 8
invokestatic org.jruby.ext.socket.Option.packLinger:(II)Lorg/jruby/util/ByteList;
astore 9
start local 9 13: goto 15
end local 9 14: StackMap locals:
StackMap stack:
iload 8
invokestatic org.jruby.ext.socket.Option.packInt:(I)Lorg/jruby/util/ByteList;
astore 9
start local 9 15: StackMap locals: org.jruby.util.ByteList
StackMap stack:
new org.jruby.ext.socket.Option
dup
aload 4
getstatic jnr.constants.platform.ProtocolFamily.PF_INET:Ljnr/constants/platform/ProtocolFamily;
aload 5
aload 6
aload 9
invokespecial org.jruby.ext.socket.Option.<init>:(Lorg/jruby/Ruby;Ljnr/constants/platform/ProtocolFamily;Ljnr/constants/platform/SocketLevel;Ljnr/constants/platform/SocketOption;Lorg/jruby/util/ByteList;)V
16: areturn
end local 9 end local 8 17: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.jruby.Ruby.newErrnoENOPROTOOPTError:()Lorg/jruby/exceptions/RaiseException;
athrow
end local 7 18: StackMap locals: org.jruby.ext.socket.RubyBasicSocket org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby jnr.constants.platform.SocketLevel jnr.constants.platform.SocketOption
StackMap stack: java.io.IOException
pop
19: aload 4
invokevirtual org.jruby.Ruby.newErrnoENOPROTOOPTError:()Lorg/jruby/exceptions/RaiseException;
athrow
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/jruby/ext/socket/RubyBasicSocket;
0 20 1 context Lorg/jruby/runtime/ThreadContext;
0 20 2 _level Lorg/jruby/runtime/builtin/IRubyObject;
0 20 3 _opt Lorg/jruby/runtime/builtin/IRubyObject;
1 20 4 runtime Lorg/jruby/Ruby;
2 20 5 level Ljnr/constants/platform/SocketLevel;
3 20 6 opt Ljnr/constants/platform/SocketOption;
4 18 7 channel Ljava/nio/channels/Channel;
8 17 8 value I
11 12 9 packedValue Lorg/jruby/util/ByteList;
13 14 9 packedValue Lorg/jruby/util/ByteList;
15 17 9 packedValue Lorg/jruby/util/ByteList;
Exception table:
from to target type
3 16 18 Class java.io.IOException
17 18 18 Class java.io.IOException
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod()
MethodParameters:
Name Flags
context
_level
_opt
public org.jruby.runtime.builtin.IRubyObject setsockopt(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof org.jruby.ext.socket.Option
ifeq 3
1: aload 2
checkcast org.jruby.ext.socket.Option
astore 3
start local 3 2: aload 0
aload 1
aload 3
aload 1
invokevirtual org.jruby.ext.socket.Option.level:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
aload 3
aload 1
invokevirtual org.jruby.ext.socket.Option.optname:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
aload 3
aload 1
invokevirtual org.jruby.ext.socket.Option.data:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
invokevirtual org.jruby.ext.socket.RubyBasicSocket.setsockopt:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 3 3: StackMap locals:
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
new java.lang.StringBuilder
dup
aload 2
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " is not a Socket::Option"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/ext/socket/RubyBasicSocket;
0 4 1 context Lorg/jruby/runtime/ThreadContext;
0 4 2 option Lorg/jruby/runtime/builtin/IRubyObject;
2 3 3 rsockopt Lorg/jruby/ext/socket/Option;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod()
MethodParameters:
Name Flags
context
option
public org.jruby.runtime.builtin.IRubyObject setsockopt(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=12, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 5
start local 5 1: aload 2
invokestatic org.jruby.ext.socket.SocketUtils.levelFromArg:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljnr/constants/platform/SocketLevel;
astore 6
start local 6 2: aload 3
invokestatic org.jruby.ext.socket.SocketUtils.optionFromArg:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljnr/constants/platform/SocketOption;
astore 7
start local 7 3: aload 0
invokevirtual org.jruby.ext.socket.RubyBasicSocket.getOpenChannel:()Ljava/nio/channels/Channel;
astore 8
start local 8 4: aload 8
invokestatic org.jruby.ext.socket.SocketType.forChannel:(Ljava/nio/channels/Channel;)Lorg/jruby/ext/socket/SocketType;
astore 9
start local 9 5: invokestatic org.jruby.ext.socket.RubyBasicSocket.$SWITCH_TABLE$jnr$constants$platform$SocketLevel:()[I
aload 6
invokevirtual jnr.constants.platform.SocketLevel.ordinal:()I
iaload
tableswitch { // 1 - 4
1: 6
2: 6
3: 6
4: 6
default: 16
}
6: StackMap locals: org.jruby.ext.socket.RubyBasicSocket org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby jnr.constants.platform.SocketLevel jnr.constants.platform.SocketOption java.nio.channels.Channel org.jruby.ext.socket.SocketType
StackMap stack:
aload 7
getstatic jnr.constants.platform.SocketOption.SO_LINGER:Ljnr/constants/platform/SocketOption;
if_acmpne 14
7: aload 4
instanceof org.jruby.RubyString
ifeq 13
8: aload 4
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
invokestatic org.jruby.ext.socket.Option.unpackLinger:(Lorg/jruby/util/ByteList;)[I
astore 10
start local 10 9: aload 9
aload 8
aload 10
iconst_0
iaload
ifeq 10
iconst_1
goto 11
StackMap locals: org.jruby.ext.socket.RubyBasicSocket org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby jnr.constants.platform.SocketLevel jnr.constants.platform.SocketOption java.nio.channels.Channel org.jruby.ext.socket.SocketType int[]
StackMap stack: org.jruby.ext.socket.SocketType java.nio.channels.Channel
10: iconst_0
StackMap locals: org.jruby.ext.socket.RubyBasicSocket org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby jnr.constants.platform.SocketLevel jnr.constants.platform.SocketOption java.nio.channels.Channel org.jruby.ext.socket.SocketType int[]
StackMap stack: org.jruby.ext.socket.SocketType java.nio.channels.Channel int
11: aload 10
iconst_1
iaload
invokevirtual org.jruby.ext.socket.SocketType.setSoLinger:(Ljava/nio/channels/Channel;ZI)V
end local 10 12: goto 30
13: StackMap locals:
StackMap stack:
aload 5
ldc "setsockopt(2)"
invokevirtual org.jruby.Ruby.newErrnoEINVALError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
14: StackMap locals:
StackMap stack:
aload 9
aload 8
aload 7
aload 1
aload 4
invokestatic org.jruby.ext.socket.RubyBasicSocket.asNumber:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)I
invokevirtual org.jruby.ext.socket.SocketType.setSocketOption:(Ljava/nio/channels/Channel;Ljnr/constants/platform/SocketOption;I)V
15: goto 30
16: StackMap locals:
StackMap stack:
aload 2
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
invokevirtual org.jruby.RubyInteger.getLongValue:()J
l2i
istore 10
start local 10 17: aload 3
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
invokevirtual org.jruby.RubyInteger.getLongValue:()J
l2i
istore 11
start local 11 18: getstatic jnr.constants.platform.IPProto.IPPROTO_TCP:Ljnr/constants/platform/IPProto;
invokevirtual jnr.constants.platform.IPProto.intValue:()I
iload 10
if_icmpne 21
getstatic jnr.constants.platform.TCP.TCP_NODELAY:Ljnr/constants/platform/TCP;
invokevirtual jnr.constants.platform.TCP.intValue:()I
iload 11
if_icmpne 21
19: aload 9
aload 8
aload 0
aload 1
aload 4
invokevirtual org.jruby.ext.socket.RubyBasicSocket.asBoolean:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
invokevirtual org.jruby.ext.socket.SocketType.setTcpNoDelay:(Ljava/nio/channels/Channel;Z)V
20: goto 30
StackMap locals: int int
StackMap stack:
21: getstatic jnr.constants.platform.IPProto.IPPROTO_IP:Ljnr/constants/platform/IPProto;
invokevirtual jnr.constants.platform.IPProto.intValue:()I
iload 10
if_icmpne 25
22: bipush 12
iload 11
if_icmpne 30
23: aload 0
aload 4
invokevirtual org.jruby.ext.socket.RubyBasicSocket.joinMulticastGroup:(Lorg/jruby/runtime/builtin/IRubyObject;)V
24: goto 30
25: StackMap locals:
StackMap stack:
aload 5
invokevirtual org.jruby.Ruby.newErrnoENOPROTOOPTError:()Lorg/jruby/exceptions/RaiseException;
athrow
end local 11 end local 10 end local 9 end local 8 26: StackMap locals: org.jruby.ext.socket.RubyBasicSocket org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby jnr.constants.platform.SocketLevel jnr.constants.platform.SocketOption
StackMap stack: org.jruby.util.io.BadDescriptorException
pop
27: aload 5
invokevirtual org.jruby.Ruby.newErrnoEBADFError:()Lorg/jruby/exceptions/RaiseException;
athrow
28: StackMap locals:
StackMap stack: java.io.IOException
pop
29: aload 5
invokevirtual org.jruby.Ruby.newErrnoENOPROTOOPTError:()Lorg/jruby/exceptions/RaiseException;
athrow
30: StackMap locals:
StackMap stack:
aload 5
iconst_0
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lorg/jruby/ext/socket/RubyBasicSocket;
0 31 1 context Lorg/jruby/runtime/ThreadContext;
0 31 2 _level Lorg/jruby/runtime/builtin/IRubyObject;
0 31 3 _opt Lorg/jruby/runtime/builtin/IRubyObject;
0 31 4 val Lorg/jruby/runtime/builtin/IRubyObject;
1 31 5 runtime Lorg/jruby/Ruby;
2 31 6 level Ljnr/constants/platform/SocketLevel;
3 31 7 opt Ljnr/constants/platform/SocketOption;
4 26 8 channel Ljava/nio/channels/Channel;
5 26 9 socketType Lorg/jruby/ext/socket/SocketType;
9 12 10 linger [I
17 26 10 intLevel I
18 26 11 intOpt I
Exception table:
from to target type
3 26 26 Class org.jruby.util.io.BadDescriptorException
3 26 28 Class java.io.IOException
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod()
MethodParameters:
Name Flags
context
_level
_opt
val
public org.jruby.runtime.builtin.IRubyObject getsockname(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
ldc "getsockname"
invokevirtual org.jruby.ext.socket.RubyBasicSocket.getSocknameCommon:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ext/socket/RubyBasicSocket;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"getsockname"})
MethodParameters:
Name Flags
context
public org.jruby.runtime.builtin.IRubyObject getpeername(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
pop
1: aload 0
invokevirtual org.jruby.ext.socket.RubyBasicSocket.getInetRemoteSocket:()Ljava/net/InetSocketAddress;
astore 2
start local 2 2: aload 2
ifnull 3
aload 1
aload 2
invokestatic org.jruby.util.io.Sockaddr.pack_sockaddr_in:(Lorg/jruby/runtime/ThreadContext;Ljava/net/InetSocketAddress;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
3: StackMap locals: java.net.InetSocketAddress
StackMap stack:
aload 0
invokevirtual org.jruby.ext.socket.RubyBasicSocket.getUnixRemoteSocket:()Ljnr/unixsocket/UnixSocketAddress;
astore 3
start local 3 4: aload 1
aload 3
invokevirtual jnr.unixsocket.UnixSocketAddress.path:()Ljava/lang/String;
invokestatic org.jruby.util.io.Sockaddr.pack_sockaddr_un:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/ext/socket/RubyBasicSocket;
0 5 1 context Lorg/jruby/runtime/ThreadContext;
2 5 2 sock Ljava/net/InetSocketAddress;
4 5 3 unix Ljnr/unixsocket/UnixSocketAddress;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"getpeername"})
MethodParameters:
Name Flags
context
public org.jruby.runtime.builtin.IRubyObject getpeereid(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
ldc "getpeereid not implemented"
invokevirtual org.jruby.Ruby.newNotImplementedError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ext/socket/RubyBasicSocket;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"getpeereid"}, notImplemented = true)
MethodParameters:
Name Flags
context
public org.jruby.runtime.builtin.IRubyObject local_address(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=2
start local 0 start local 1 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 2
start local 2 1: aload 0
invokevirtual org.jruby.ext.socket.RubyBasicSocket.getInetSocketAddress:()Ljava/net/InetSocketAddress;
astore 3
start local 3 2: aload 3
ifnull 5
3: aload 0
invokevirtual org.jruby.ext.socket.RubyBasicSocket.getChannel:()Ljava/nio/channels/Channel;
invokestatic org.jruby.ext.socket.SocketType.forChannel:(Ljava/nio/channels/Channel;)Lorg/jruby/ext/socket/SocketType;
astore 4
start local 4 4: new org.jruby.ext.socket.Addrinfo
dup
aload 2
aload 2
ldc "Addrinfo"
invokevirtual org.jruby.Ruby.getClass:(Ljava/lang/String;)Lorg/jruby/RubyClass;
aload 3
aload 4
invokevirtual org.jruby.ext.socket.SocketType.getSocketType:()Ljnr/constants/platform/Sock;
aload 4
invokespecial org.jruby.ext.socket.Addrinfo.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Ljava/net/SocketAddress;Ljnr/constants/platform/Sock;Lorg/jruby/ext/socket/SocketType;)V
areturn
end local 4 5: StackMap locals: org.jruby.Ruby java.net.InetSocketAddress
StackMap stack:
aload 0
invokevirtual org.jruby.ext.socket.RubyBasicSocket.getUnixSocketAddress:()Ljnr/unixsocket/UnixSocketAddress;
astore 4
start local 4 6: aload 1
aload 2
ldc "Addrinfo"
invokevirtual org.jruby.Ruby.getClass:(Ljava/lang/String;)Lorg/jruby/RubyClass;
aload 2
aload 4
invokevirtual jnr.unixsocket.UnixSocketAddress.path:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
invokestatic org.jruby.ext.socket.Addrinfo.unix:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/ext/socket/RubyBasicSocket;
0 7 1 context Lorg/jruby/runtime/ThreadContext;
1 7 2 runtime Lorg/jruby/Ruby;
2 7 3 address Ljava/net/InetSocketAddress;
4 5 4 socketType Lorg/jruby/ext/socket/SocketType;
6 7 4 unix Ljnr/unixsocket/UnixSocketAddress;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod()
MethodParameters:
Name Flags
context
public org.jruby.runtime.builtin.IRubyObject remote_address(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=2
start local 0 start local 1 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 2
start local 2 1: aload 0
invokevirtual org.jruby.ext.socket.RubyBasicSocket.getInetRemoteSocket:()Ljava/net/InetSocketAddress;
astore 3
start local 3 2: aload 3
ifnull 5
3: aload 0
invokevirtual org.jruby.ext.socket.RubyBasicSocket.getChannel:()Ljava/nio/channels/Channel;
invokestatic org.jruby.ext.socket.SocketType.forChannel:(Ljava/nio/channels/Channel;)Lorg/jruby/ext/socket/SocketType;
astore 4
start local 4 4: new org.jruby.ext.socket.Addrinfo
dup
aload 2
aload 2
ldc "Addrinfo"
invokevirtual org.jruby.Ruby.getClass:(Ljava/lang/String;)Lorg/jruby/RubyClass;
aload 3
aload 4
invokevirtual org.jruby.ext.socket.SocketType.getSocketType:()Ljnr/constants/platform/Sock;
aload 4
invokespecial org.jruby.ext.socket.Addrinfo.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Ljava/net/SocketAddress;Ljnr/constants/platform/Sock;Lorg/jruby/ext/socket/SocketType;)V
areturn
end local 4 5: StackMap locals: org.jruby.Ruby java.net.InetSocketAddress
StackMap stack:
aload 0
invokevirtual org.jruby.ext.socket.RubyBasicSocket.getUnixRemoteSocket:()Ljnr/unixsocket/UnixSocketAddress;
astore 4
start local 4 6: aload 4
ifnull 8
7: aload 1
aload 2
ldc "Addrinfo"
invokevirtual org.jruby.Ruby.getClass:(Ljava/lang/String;)Lorg/jruby/RubyClass;
aload 2
aload 4
invokevirtual jnr.unixsocket.UnixSocketAddress.path:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
invokestatic org.jruby.ext.socket.Addrinfo.unix:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
8: StackMap locals: jnr.unixsocket.UnixSocketAddress
StackMap stack:
aload 2
invokevirtual org.jruby.Ruby.newErrnoENOTCONNError:()Lorg/jruby/exceptions/RaiseException;
athrow
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 Lorg/jruby/ext/socket/RubyBasicSocket;
0 9 1 context Lorg/jruby/runtime/ThreadContext;
1 9 2 runtime Lorg/jruby/Ruby;
2 9 3 address Ljava/net/InetSocketAddress;
4 5 4 socketType Lorg/jruby/ext/socket/SocketType;
6 9 4 unix Ljnr/unixsocket/UnixSocketAddress;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod()
MethodParameters:
Name Flags
context
public org.jruby.runtime.builtin.IRubyObject shutdown(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: iconst_2
istore 3
start local 3 1: aload 2
arraylength
ifle 21
2: aconst_null
astore 4
start local 4 3: aload 2
iconst_0
aaload
instanceof org.jruby.RubyString
ifne 4
aload 2
iconst_0
aaload
instanceof org.jruby.RubySymbol
ifeq 6
4: StackMap locals: int java.lang.String
StackMap stack:
aload 2
iconst_0
aaload
invokeinterface org.jruby.runtime.builtin.IRubyObject.asJavaString:()Ljava/lang/String;
astore 4
5: goto 9
6: StackMap locals:
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 5
start local 5 7: aload 5
aload 2
iconst_0
aaload
invokestatic org.jruby.util.TypeConverter.checkStringType:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 6
start local 6 8: aload 6
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 9
aload 6
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
astore 4
end local 6 end local 5 9: StackMap locals:
StackMap stack:
aload 4
ifnull 20
10: aload 4
ldc "RD"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 11
aload 4
ldc "SHUT_RD"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
11: StackMap locals:
StackMap stack:
iconst_0
istore 3
12: goto 21
StackMap locals:
StackMap stack:
13: aload 4
ldc "WR"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 14
aload 4
ldc "SHUT_WR"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 16
14: StackMap locals:
StackMap stack:
iconst_1
istore 3
15: goto 21
StackMap locals:
StackMap stack:
16: aload 4
ldc "RDWR"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 17
aload 4
ldc "SHUT_RDWR"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 19
17: StackMap locals:
StackMap stack:
iconst_2
istore 3
18: goto 21
19: StackMap locals:
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
ldc "`how' should be either :SHUT_RD, :SHUT_WR, :SHUT_RDWR"
invokestatic org.jruby.ext.socket.SocketUtils.sockerr:(Lorg/jruby/Ruby;Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
20: StackMap locals:
StackMap stack:
aload 2
iconst_0
aaload
invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
istore 3
end local 4 21: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.ext.socket.RubyBasicSocket.getOpenFileChecked:()Lorg/jruby/util/io/OpenFile;
astore 4
start local 4 22: aload 1
aload 4
iload 3
invokestatic org.jruby.ext.socket.RubyBasicSocket.shutdownInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/OpenFile;I)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lorg/jruby/ext/socket/RubyBasicSocket;
0 23 1 context Lorg/jruby/runtime/ThreadContext;
0 23 2 args [Lorg/jruby/runtime/builtin/IRubyObject;
1 23 3 how I
3 21 4 howString Ljava/lang/String;
7 9 5 runtime Lorg/jruby/Ruby;
8 9 6 maybeString Lorg/jruby/runtime/builtin/IRubyObject;
22 23 4 fptr Lorg/jruby/util/io/OpenFile;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(optional = 1)
MethodParameters:
Name Flags
context
args
public org.jruby.runtime.builtin.IRubyObject close_write(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_2
invokevirtual org.jruby.ext.socket.RubyBasicSocket.closeHalf:(Lorg/jruby/runtime/ThreadContext;I)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ext/socket/RubyBasicSocket;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod()
MethodParameters:
Name Flags
context
public org.jruby.runtime.builtin.IRubyObject close_read(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
invokevirtual org.jruby.ext.socket.RubyBasicSocket.closeHalf:(Lorg/jruby/runtime/ThreadContext;I)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ext/socket/RubyBasicSocket;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod()
MethodParameters:
Name Flags
context
private org.jruby.runtime.builtin.IRubyObject closeHalf(org.jruby.runtime.ThreadContext, int);
descriptor: (Lorg/jruby/runtime/ThreadContext;I)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: iload 2
iconst_1
if_icmpne 1
iconst_2
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: istore 4
start local 4 3: aload 0
invokevirtual org.jruby.ext.socket.RubyBasicSocket.getOpenFileChecked:()Lorg/jruby/util/io/OpenFile;
astore 3
start local 3 4: aload 3
invokevirtual org.jruby.util.io.OpenFile.getMode:()I
iload 4
iand
ifne 6
5: aload 0
aload 1
invokevirtual org.jruby.ext.socket.RubyBasicSocket.rbIoClose:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
6: StackMap locals: org.jruby.util.io.OpenFile int
StackMap stack:
iload 2
iconst_1
if_icmpne 7
iconst_0
goto 8
StackMap locals:
StackMap stack:
7: iconst_1
StackMap locals:
StackMap stack: int
8: istore 5
start local 5 9: aload 1
aload 3
iload 5
invokestatic org.jruby.ext.socket.RubyBasicSocket.shutdownInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/OpenFile;I)Lorg/jruby/runtime/builtin/IRubyObject;
pop
10: aload 1
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/jruby/ext/socket/RubyBasicSocket;
0 11 1 context Lorg/jruby/runtime/ThreadContext;
0 11 2 closeHalf I
4 11 3 fptr Lorg/jruby/util/io/OpenFile;
3 11 4 otherHalf I
9 11 5 how I
MethodParameters:
Name Flags
context
closeHalf
public org.jruby.runtime.builtin.IRubyObject sendmsg(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
ldc "sendmsg is not implemented"
invokevirtual org.jruby.Ruby.newNotImplementedError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ext/socket/RubyBasicSocket;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 args [Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(rest = true, notImplemented = true)
MethodParameters:
Name Flags
context
args
public org.jruby.runtime.builtin.IRubyObject sendmsg_nonblock(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
ldc "sendmsg_nonblock is not implemented"
invokevirtual org.jruby.Ruby.newNotImplementedError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ext/socket/RubyBasicSocket;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 args [Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(rest = true, notImplemented = true)
MethodParameters:
Name Flags
context
args
public org.jruby.runtime.builtin.IRubyObject recvmsg(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
ldc "recvmsg is not implemented"
invokevirtual org.jruby.Ruby.newNotImplementedError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ext/socket/RubyBasicSocket;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 args [Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(rest = true, notImplemented = true)
MethodParameters:
Name Flags
context
args
public org.jruby.runtime.builtin.IRubyObject recvmsg_nonblock(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
ldc "recvmsg_nonblock is not implemented"
invokevirtual org.jruby.Ruby.newNotImplementedError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ext/socket/RubyBasicSocket;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 args [Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(rest = true, notImplemented = true)
MethodParameters:
Name Flags
context
args
protected org.jruby.util.ByteList doRead(org.jruby.runtime.ThreadContext, java.nio.ByteBuffer);
descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/nio/ByteBuffer;)Lorg/jruby/util/ByteList;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.ext.socket.RubyBasicSocket.getOpenFileInitialized:()Lorg/jruby/util/io/OpenFile;
astore 3
start local 3 1: aload 3
aload 1
invokevirtual org.jruby.util.io.OpenFile.checkReadable:(Lorg/jruby/runtime/ThreadContext;)V
2: aload 1
invokevirtual org.jruby.runtime.ThreadContext.getThread:()Lorg/jruby/RubyThread;
invokevirtual org.jruby.RubyThread.beforeBlockingCall:()V
3: aload 0
getfield org.jruby.ext.socket.RubyBasicSocket.openFile:Lorg/jruby/util/io/OpenFile;
invokevirtual org.jruby.util.io.OpenFile.readChannel:()Ljava/nio/channels/ReadableByteChannel;
aload 2
invokeinterface java.nio.channels.ReadableByteChannel.read:(Ljava/nio/ByteBuffer;)I
istore 4
start local 4 4: iload 4
ifne 7
5: aload 1
invokevirtual org.jruby.runtime.ThreadContext.getThread:()Lorg/jruby/RubyThread;
invokevirtual org.jruby.RubyThread.afterBlockingCall:()V
6: aconst_null
areturn
7: StackMap locals: org.jruby.util.io.OpenFile int
StackMap stack:
new org.jruby.util.ByteList
dup
aload 2
invokevirtual java.nio.ByteBuffer.array:()[B
iconst_0
aload 2
invokevirtual java.nio.ByteBuffer.position:()I
iconst_0
invokespecial org.jruby.util.ByteList.<init>:([BIIZ)V
astore 6
8: aload 1
invokevirtual org.jruby.runtime.ThreadContext.getThread:()Lorg/jruby/RubyThread;
invokevirtual org.jruby.RubyThread.afterBlockingCall:()V
9: aload 6
areturn
end local 4 10: StackMap locals: org.jruby.ext.socket.RubyBasicSocket org.jruby.runtime.ThreadContext java.nio.ByteBuffer org.jruby.util.io.OpenFile
StackMap stack: java.io.IOException
astore 4
start local 4 11: ldc "Socket not open"
aload 4
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
12: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 4
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newIOError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
13: StackMap locals: java.io.IOException
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 4
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newSystemCallError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 4 14: StackMap locals: org.jruby.ext.socket.RubyBasicSocket org.jruby.runtime.ThreadContext java.nio.ByteBuffer org.jruby.util.io.OpenFile
StackMap stack: java.lang.Throwable
astore 5
15: aload 1
invokevirtual org.jruby.runtime.ThreadContext.getThread:()Lorg/jruby/RubyThread;
invokevirtual org.jruby.RubyThread.afterBlockingCall:()V
16: aload 5
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/jruby/ext/socket/RubyBasicSocket;
0 17 1 context Lorg/jruby/runtime/ThreadContext;
0 17 2 buffer Ljava/nio/ByteBuffer;
1 17 3 fptr Lorg/jruby/util/io/OpenFile;
4 10 4 read I
11 14 4 e Ljava/io/IOException;
Exception table:
from to target type
2 5 10 Class java.io.IOException
7 8 10 Class java.io.IOException
2 5 14 any
7 8 14 any
10 14 14 any
MethodParameters:
Name Flags
context
buffer final
protected final org.jruby.util.ByteList doReadNonblock(org.jruby.runtime.ThreadContext, java.nio.ByteBuffer);
descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/nio/ByteBuffer;)Lorg/jruby/util/ByteList;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=4, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.ext.socket.RubyBasicSocket.getChannel:()Ljava/nio/channels/Channel;
astore 3
start local 3 1: aload 3
instanceof java.nio.channels.SelectableChannel
ifne 3
2: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
new java.lang.StringBuilder
dup
aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " does not support nonblocking"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newErrnoEAGAINReadableError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
3: StackMap locals: java.nio.channels.Channel
StackMap stack:
aload 3
checkcast java.nio.channels.SelectableChannel
astore 4
start local 4 4: aload 4
invokevirtual java.nio.channels.SelectableChannel.blockingLock:()Ljava/lang/Object;
dup
astore 5
monitorenter
5: aload 4
invokevirtual java.nio.channels.SelectableChannel.isBlocking:()Z
istore 6
start local 6 6: aload 4
iconst_0
invokevirtual java.nio.channels.SelectableChannel.configureBlocking:(Z)Ljava/nio/channels/SelectableChannel;
pop
7: aload 0
aload 1
aload 2
invokevirtual org.jruby.ext.socket.RubyBasicSocket.doRead:(Lorg/jruby/runtime/ThreadContext;Ljava/nio/ByteBuffer;)Lorg/jruby/util/ByteList;
astore 8
8: aload 4
iload 6
invokevirtual java.nio.channels.SelectableChannel.configureBlocking:(Z)Ljava/nio/channels/SelectableChannel;
pop
9: aload 5
monitorexit
10: aload 8
areturn
11: StackMap locals: org.jruby.ext.socket.RubyBasicSocket org.jruby.runtime.ThreadContext java.nio.ByteBuffer java.nio.channels.Channel java.nio.channels.SelectableChannel java.lang.Object int
StackMap stack: java.lang.Throwable
astore 7
12: aload 4
iload 6
invokevirtual java.nio.channels.SelectableChannel.configureBlocking:(Z)Ljava/nio/channels/SelectableChannel;
pop
13: aload 7
athrow
14: StackMap locals:
StackMap stack: java.io.IOException
astore 7
start local 7 15: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 7
invokevirtual org.jruby.Ruby.newIOErrorFromException:(Ljava/io/IOException;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 7 end local 6 16: StackMap locals: org.jruby.ext.socket.RubyBasicSocket org.jruby.runtime.ThreadContext java.nio.ByteBuffer java.nio.channels.Channel java.nio.channels.SelectableChannel java.lang.Object
StackMap stack: java.lang.Throwable
aload 5
monitorexit
17: athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/jruby/ext/socket/RubyBasicSocket;
0 18 1 context Lorg/jruby/runtime/ThreadContext;
0 18 2 buffer Ljava/nio/ByteBuffer;
1 18 3 channel Ljava/nio/channels/Channel;
4 18 4 selectable Ljava/nio/channels/SelectableChannel;
6 16 6 oldBlocking Z
15 16 7 e Ljava/io/IOException;
Exception table:
from to target type
7 8 11 any
6 9 14 Class java.io.IOException
11 14 14 Class java.io.IOException
5 10 16 any
11 17 16 any
MethodParameters:
Name Flags
context
buffer final
private void joinMulticastGroup(org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.ext.socket.RubyBasicSocket.getOpenChannel:()Ljava/nio/channels/Channel;
astore 2
start local 2 1: aload 2
instanceof java.nio.channels.DatagramChannel
ifeq 7
2: aload 0
getfield org.jruby.ext.socket.RubyBasicSocket.multicastStateManager:Lorg/jruby/ext/socket/MulticastStateManager;
ifnonnull 4
3: aload 0
new org.jruby.ext.socket.MulticastStateManager
dup
invokespecial org.jruby.ext.socket.MulticastStateManager.<init>:()V
putfield org.jruby.ext.socket.RubyBasicSocket.multicastStateManager:Lorg/jruby/ext/socket/MulticastStateManager;
4: StackMap locals: java.nio.channels.Channel
StackMap stack:
aload 1
instanceof org.jruby.RubyString
ifeq 7
5: aload 1
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
invokevirtual org.jruby.RubyString.getBytes:()[B
astore 3
start local 3 6: aload 0
getfield org.jruby.ext.socket.RubyBasicSocket.multicastStateManager:Lorg/jruby/ext/socket/MulticastStateManager;
aload 3
invokevirtual org.jruby.ext.socket.MulticastStateManager.addMembership:([B)V
end local 3 7: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/jruby/ext/socket/RubyBasicSocket;
0 8 1 val Lorg/jruby/runtime/builtin/IRubyObject;
1 8 2 socketChannel Ljava/nio/channels/Channel;
6 7 3 ipaddr_buf [B
Exceptions:
throws java.io.IOException, org.jruby.util.io.BadDescriptorException
MethodParameters:
Name Flags
val
protected java.net.InetSocketAddress getInetSocketAddress();
descriptor: ()Ljava/net/InetSocketAddress;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.ext.socket.RubyBasicSocket.getSocketAddress:()Ljava/net/SocketAddress;
astore 1
start local 1 1: aload 1
instanceof java.net.InetSocketAddress
ifeq 2
aload 1
checkcast java.net.InetSocketAddress
areturn
2: StackMap locals: java.net.SocketAddress
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ext/socket/RubyBasicSocket;
1 3 1 socketAddress Ljava/net/SocketAddress;
protected java.net.InetSocketAddress getInetRemoteSocket();
descriptor: ()Ljava/net/InetSocketAddress;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.ext.socket.RubyBasicSocket.getRemoteSocket:()Ljava/net/SocketAddress;
astore 1
start local 1 1: aload 1
instanceof java.net.InetSocketAddress
ifeq 2
aload 1
checkcast java.net.InetSocketAddress
areturn
2: StackMap locals: java.net.SocketAddress
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ext/socket/RubyBasicSocket;
1 3 1 socketAddress Ljava/net/SocketAddress;
protected jnr.unixsocket.UnixSocketAddress getUnixSocketAddress();
descriptor: ()Ljnr/unixsocket/UnixSocketAddress;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.ext.socket.RubyBasicSocket.getSocketAddress:()Ljava/net/SocketAddress;
astore 1
start local 1 1: aload 1
instanceof jnr.unixsocket.UnixSocketAddress
ifeq 2
aload 1
checkcast jnr.unixsocket.UnixSocketAddress
areturn
2: StackMap locals: java.net.SocketAddress
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ext/socket/RubyBasicSocket;
1 3 1 socketAddress Ljava/net/SocketAddress;
protected jnr.unixsocket.UnixSocketAddress getUnixRemoteSocket();
descriptor: ()Ljnr/unixsocket/UnixSocketAddress;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.ext.socket.RubyBasicSocket.getRemoteSocket:()Ljava/net/SocketAddress;
astore 1
start local 1 1: aload 1
instanceof jnr.unixsocket.UnixSocketAddress
ifeq 2
aload 1
checkcast jnr.unixsocket.UnixSocketAddress
areturn
2: StackMap locals: java.net.SocketAddress
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ext/socket/RubyBasicSocket;
1 3 1 socketAddress Ljava/net/SocketAddress;
protected java.net.SocketAddress getSocketAddress();
descriptor: ()Ljava/net/SocketAddress;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.ext.socket.RubyBasicSocket.getOpenChannel:()Ljava/nio/channels/Channel;
astore 1
start local 1 1: aload 1
invokestatic org.jruby.ext.socket.SocketType.forChannel:(Ljava/nio/channels/Channel;)Lorg/jruby/ext/socket/SocketType;
aload 1
invokevirtual org.jruby.ext.socket.SocketType.getLocalSocketAddress:(Ljava/nio/channels/Channel;)Ljava/net/SocketAddress;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ext/socket/RubyBasicSocket;
1 2 1 channel Ljava/nio/channels/Channel;
protected java.net.SocketAddress getRemoteSocket();
descriptor: ()Ljava/net/SocketAddress;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.ext.socket.RubyBasicSocket.getOpenChannel:()Ljava/nio/channels/Channel;
astore 1
start local 1 1: aload 1
invokestatic org.jruby.ext.socket.SocketType.forChannel:(Ljava/nio/channels/Channel;)Lorg/jruby/ext/socket/SocketType;
aload 1
invokevirtual org.jruby.ext.socket.SocketType.getRemoteSocketAddress:(Ljava/nio/channels/Channel;)Ljava/net/SocketAddress;
astore 2
start local 2 2: aload 2
ifnonnull 3
aload 0
invokevirtual org.jruby.ext.socket.RubyBasicSocket.getRuntime:()Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.newErrnoENOTCONNError:()Lorg/jruby/exceptions/RaiseException;
athrow
3: StackMap locals: java.nio.channels.Channel java.net.SocketAddress
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/ext/socket/RubyBasicSocket;
1 4 1 channel Ljava/nio/channels/Channel;
2 4 2 address Ljava/net/SocketAddress;
protected org.jruby.runtime.builtin.IRubyObject getSocknameCommon(org.jruby.runtime.ThreadContext, java.lang.String);
descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.ext.socket.RubyBasicSocket.getInetSocketAddress:()Ljava/net/InetSocketAddress;
ifnull 2
1: aload 1
aload 0
invokevirtual org.jruby.ext.socket.RubyBasicSocket.getInetSocketAddress:()Ljava/net/InetSocketAddress;
invokestatic org.jruby.util.io.Sockaddr.pack_sockaddr_in:(Lorg/jruby/runtime/ThreadContext;Ljava/net/InetSocketAddress;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.ext.socket.RubyBasicSocket.getUnixSocketAddress:()Ljnr/unixsocket/UnixSocketAddress;
ifnull 4
3: aload 1
aload 0
invokevirtual org.jruby.ext.socket.RubyBasicSocket.getUnixSocketAddress:()Ljnr/unixsocket/UnixSocketAddress;
invokevirtual jnr.unixsocket.UnixSocketAddress.path:()Ljava/lang/String;
invokestatic org.jruby.util.io.Sockaddr.pack_sockaddr_un:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
4: StackMap locals:
StackMap stack:
aload 1
iconst_0
ldc "0.0.0.0"
invokestatic org.jruby.util.io.Sockaddr.pack_sockaddr_in:(Lorg/jruby/runtime/ThreadContext;ILjava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/ext/socket/RubyBasicSocket;
0 5 1 context Lorg/jruby/runtime/ThreadContext;
0 5 2 caller Ljava/lang/String;
MethodParameters:
Name Flags
context
caller
private static org.jruby.runtime.builtin.IRubyObject shutdownInternal(org.jruby.runtime.ThreadContext, org.jruby.util.io.OpenFile, int);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/OpenFile;I)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 3
start local 3 1: iload 2
tableswitch { // 0 - 2
0: 2
1: 8
2: 14
default: 17
}
2: StackMap locals: org.jruby.Ruby
StackMap stack:
aload 1
invokevirtual org.jruby.util.io.OpenFile.channel:()Ljava/nio/channels/Channel;
astore 4
start local 4 3: aload 4
invokestatic org.jruby.ext.socket.SocketType.forChannel:(Ljava/nio/channels/Channel;)Lorg/jruby/ext/socket/SocketType;
aload 4
invokevirtual org.jruby.ext.socket.SocketType.shutdownInput:(Ljava/nio/channels/Channel;)V
4: goto 6
5: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.util.io.OpenFile int org.jruby.Ruby java.nio.channels.Channel
StackMap stack: java.io.IOException
pop
6: StackMap locals:
StackMap stack:
aload 1
aload 1
invokevirtual org.jruby.util.io.OpenFile.getMode:()I
bipush -2
iand
invokevirtual org.jruby.util.io.OpenFile.setMode:(I)V
7: aload 3
invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
areturn
end local 4 8: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.jruby.util.io.OpenFile.channel:()Ljava/nio/channels/Channel;
astore 4
start local 4 9: aload 4
invokestatic org.jruby.ext.socket.SocketType.forChannel:(Ljava/nio/channels/Channel;)Lorg/jruby/ext/socket/SocketType;
aload 4
invokevirtual org.jruby.ext.socket.SocketType.shutdownOutput:(Ljava/nio/channels/Channel;)V
10: goto 12
11: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.util.io.OpenFile int org.jruby.Ruby java.nio.channels.Channel
StackMap stack: java.io.IOException
pop
12: StackMap locals:
StackMap stack:
aload 1
aload 1
invokevirtual org.jruby.util.io.OpenFile.getMode:()I
bipush -3
iand
invokevirtual org.jruby.util.io.OpenFile.setMode:(I)V
13: aload 3
invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
areturn
end local 4 14: StackMap locals:
StackMap stack:
aload 0
aload 1
iconst_0
invokestatic org.jruby.ext.socket.RubyBasicSocket.shutdownInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/OpenFile;I)Lorg/jruby/runtime/builtin/IRubyObject;
pop
15: aload 0
aload 1
iconst_1
invokestatic org.jruby.ext.socket.RubyBasicSocket.shutdownInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/OpenFile;I)Lorg/jruby/runtime/builtin/IRubyObject;
pop
16: aload 3
invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
areturn
17: StackMap locals:
StackMap stack:
aload 3
ldc "`how' should be either :SHUT_RD, :SHUT_WR, :SHUT_RDWR"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 context Lorg/jruby/runtime/ThreadContext;
0 18 1 fptr Lorg/jruby/util/io/OpenFile;
0 18 2 how I
1 18 3 runtime Lorg/jruby/Ruby;
3 8 4 channel Ljava/nio/channels/Channel;
9 14 4 channel Ljava/nio/channels/Channel;
Exception table:
from to target type
3 4 5 Class java.io.IOException
9 10 11 Class java.io.IOException
MethodParameters:
Name Flags
context
fptr
how
public boolean doNotReverseLookup(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.isDoNotReverseLookupEnabled:()Z
ifne 1
aload 0
getfield org.jruby.ext.socket.RubyBasicSocket.doNotReverseLookup:Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ext/socket/RubyBasicSocket;
0 2 1 context Lorg/jruby/runtime/ThreadContext;
MethodParameters:
Name Flags
context
protected static org.jruby.util.io.ChannelFD newChannelFD(org.jruby.Ruby, java.nio.channels.Channel);
descriptor: (Lorg/jruby/Ruby;Ljava/nio/channels/Channel;)Lorg/jruby/util/io/ChannelFD;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: new org.jruby.util.io.ChannelFD
dup
aload 1
aload 0
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
aload 0
invokevirtual org.jruby.Ruby.getFilenoUtil:()Lorg/jruby/util/io/FilenoUtil;
invokespecial org.jruby.util.io.ChannelFD.<init>:(Ljava/nio/channels/Channel;Ljnr/posix/POSIX;Lorg/jruby/util/io/FilenoUtil;)V
astore 2
start local 2 1: aload 0
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
invokeinterface jnr.posix.POSIX.isNative:()Z
ifeq 3
aload 2
getfield org.jruby.util.io.ChannelFD.realFileno:I
iflt 3
getstatic org.jruby.platform.Platform.IS_WINDOWS:Z
ifne 3
2: aload 0
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
aload 2
getfield org.jruby.util.io.ChannelFD.realFileno:I
getstatic jnr.constants.platform.Fcntl.F_SETFD:Ljnr/constants/platform/Fcntl;
iconst_1
invokeinterface jnr.posix.POSIX.fcntlInt:(ILjnr/constants/platform/Fcntl;I)I
pop
3: StackMap locals: org.jruby.util.io.ChannelFD
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 runtime Lorg/jruby/Ruby;
0 4 1 channel Ljava/nio/channels/Channel;
1 4 2 fd Lorg/jruby/util/io/ChannelFD;
MethodParameters:
Name Flags
runtime
channel
protected void initSocket(org.jruby.util.io.ChannelFD);
descriptor: (Lorg/jruby/util/io/ChannelFD;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.ext.socket.RubyBasicSocket.MakeOpenFile:()Lorg/jruby/util/io/OpenFile;
pop
1: aload 0
getfield org.jruby.ext.socket.RubyBasicSocket.openFile:Lorg/jruby/util/io/OpenFile;
aload 1
invokevirtual org.jruby.util.io.OpenFile.setFD:(Lorg/jruby/util/io/ChannelFD;)V
2: aload 0
getfield org.jruby.ext.socket.RubyBasicSocket.openFile:Lorg/jruby/util/io/OpenFile;
bipush 11
invokevirtual org.jruby.util.io.OpenFile.setMode:(I)V
3: aload 0
invokevirtual org.jruby.ext.socket.RubyBasicSocket.setAscii8bitBinmode:()Lorg/jruby/RubyIO;
pop
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/ext/socket/RubyBasicSocket;
0 5 1 fd Lorg/jruby/util/io/ChannelFD;
MethodParameters:
Name Flags
fd
private java.nio.channels.Channel getOpenChannel();
descriptor: ()Ljava/nio/channels/Channel;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.ext.socket.RubyBasicSocket.getOpenFileChecked:()Lorg/jruby/util/io/OpenFile;
invokevirtual org.jruby.util.io.OpenFile.channel:()Ljava/nio/channels/Channel;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ext/socket/RubyBasicSocket;
static java.lang.RuntimeException sockerr(org.jruby.Ruby, java.lang.String, java.lang.Exception);
descriptor: (Lorg/jruby/Ruby;Ljava/lang/String;Ljava/lang/Exception;)Ljava/lang/RuntimeException;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokestatic org.jruby.ext.socket.SocketUtils.sockerr:(Lorg/jruby/Ruby;Ljava/lang/String;)Ljava/lang/RuntimeException;
astore 3
start local 3 1: aload 2
ifnull 2
aload 3
aload 2
invokevirtual java.lang.RuntimeException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
2: StackMap locals: java.lang.RuntimeException
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 runtime Lorg/jruby/Ruby;
0 3 1 msg Ljava/lang/String;
0 3 2 cause Ljava/lang/Exception;
1 3 3 ex Ljava/lang/RuntimeException;
MethodParameters:
Name Flags
runtime final
msg final
cause final
static boolean (org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "exception"
aload 1
invokestatic org.jruby.ast.util.ArgsUtil.extractKeywordArg:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
aload 0
getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
if_acmpeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 context Lorg/jruby/runtime/ThreadContext;
0 2 1 opts Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
opts
private static int asNumber(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.jruby.RubyNumeric
ifeq 2
1: aload 1
invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof org.jruby.RubyBoolean
ifeq 6
3: aload 1
invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
ifeq 4
iconst_1
goto 5
StackMap locals:
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: ireturn
6: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic org.jruby.ext.socket.RubyBasicSocket.stringAsNumber:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 context Lorg/jruby/runtime/ThreadContext;
0 7 1 val Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
val
private static int stringAsNumber(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
getstatic org.jruby.ext.socket.RubyBasicSocket.FORMAT_SMALL_I:Lorg/jruby/util/ByteList;
invokestatic org.jruby.util.Pack.unpack:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyArray;
iconst_0
invokevirtual org.jruby.RubyArray.entry:(I)Lorg/jruby/runtime/builtin/IRubyObject;
astore 2
start local 2 1: aload 2
aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
if_acmpne 2
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.newErrnoEINVALError:()Lorg/jruby/exceptions/RaiseException;
athrow
2: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 2
invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 context Lorg/jruby/runtime/ThreadContext;
0 3 1 val Lorg/jruby/runtime/builtin/IRubyObject;
1 3 2 res Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
val
protected boolean asBoolean(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof org.jruby.RubyString
ifeq 3
1: aload 1
aload 2
invokestatic org.jruby.ext.socket.RubyBasicSocket.stringAsNumber:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)I
ifeq 2
iconst_1
ireturn
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyNumeric
ifeq 6
4: aload 2
invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
ifeq 5
iconst_1
ireturn
StackMap locals:
StackMap stack:
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
aload 2
invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/ext/socket/RubyBasicSocket;
0 7 1 context Lorg/jruby/runtime/ThreadContext;
0 7 2 val Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
val
protected org.jruby.runtime.builtin.IRubyObject addrFor(org.jruby.runtime.ThreadContext, java.net.InetSocketAddress, boolean);
descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/net/InetSocketAddress;Z)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 4
start local 4 1: aload 2
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
instanceof java.net.Inet6Address
ifeq 4
2: aload 4
ldc "AF_INET6"
invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
astore 5
start local 5 3: goto 5
end local 5 4: StackMap locals: org.jruby.Ruby
StackMap stack:
aload 4
ldc "AF_INET"
invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
astore 5
start local 5 5: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 4
aload 2
invokevirtual java.net.InetSocketAddress.getPort:()I
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
astore 6
start local 6 6: aload 2
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
astore 9
start local 9 7: iload 3
ifeq 8
aload 0
aload 1
invokevirtual org.jruby.ext.socket.RubyBasicSocket.doNotReverseLookup:(Lorg/jruby/runtime/ThreadContext;)Z
ifeq 10
8: StackMap locals: org.jruby.ext.socket.RubyBasicSocket org.jruby.runtime.ThreadContext java.net.InetSocketAddress int org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject top top java.lang.String
StackMap stack:
aload 4
aload 9
invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
astore 7
start local 7 9: goto 11
end local 7 10: StackMap locals:
StackMap stack:
aload 4
aload 2
invokevirtual java.net.InetSocketAddress.getHostName:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
astore 7
start local 7 11: StackMap locals: org.jruby.ext.socket.RubyBasicSocket org.jruby.runtime.ThreadContext java.net.InetSocketAddress int org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject top java.lang.String
StackMap stack:
aload 4
aload 9
invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
astore 8
start local 8 12: aload 4
aload 5
aload 6
aload 7
aload 8
invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
areturn
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/jruby/ext/socket/RubyBasicSocket;
0 13 1 context Lorg/jruby/runtime/ThreadContext;
0 13 2 addr Ljava/net/InetSocketAddress;
0 13 3 reverse Z
1 13 4 runtime Lorg/jruby/Ruby;
3 4 5 ret0 Lorg/jruby/runtime/builtin/IRubyObject;
5 13 5 ret0 Lorg/jruby/runtime/builtin/IRubyObject;
6 13 6 ret1 Lorg/jruby/runtime/builtin/IRubyObject;
9 10 7 ret2 Lorg/jruby/runtime/builtin/IRubyObject;
11 13 7 ret2 Lorg/jruby/runtime/builtin/IRubyObject;
12 13 8 ret3 Lorg/jruby/runtime/builtin/IRubyObject;
7 13 9 hostAddress Ljava/lang/String;
MethodParameters:
Name Flags
context
addr
reverse
public org.jruby.runtime.builtin.IRubyObject recv(org.jruby.runtime.builtin.IRubyObject[]);
descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
invokevirtual org.jruby.ext.socket.RubyBasicSocket.getRuntime:()Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
aload 1
invokevirtual org.jruby.ext.socket.RubyBasicSocket.recv:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ext/socket/RubyBasicSocket;
0 1 1 args [Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
args
public org.jruby.runtime.builtin.IRubyObject getsockopt(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
invokevirtual org.jruby.ext.socket.RubyBasicSocket.getRuntime:()Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
aload 1
aload 2
invokevirtual org.jruby.ext.socket.RubyBasicSocket.getsockopt:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ext/socket/RubyBasicSocket;
0 1 1 lev Lorg/jruby/runtime/builtin/IRubyObject;
0 1 2 optname Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
lev
optname
public org.jruby.runtime.builtin.IRubyObject setsockopt(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 0
invokevirtual org.jruby.ext.socket.RubyBasicSocket.getRuntime:()Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
aload 1
aload 2
aload 3
invokevirtual org.jruby.ext.socket.RubyBasicSocket.setsockopt:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ext/socket/RubyBasicSocket;
0 1 1 lev Lorg/jruby/runtime/builtin/IRubyObject;
0 1 2 optname Lorg/jruby/runtime/builtin/IRubyObject;
0 1 3 val Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
lev
optname
val
public org.jruby.runtime.builtin.IRubyObject getsockname();
descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
invokevirtual org.jruby.ext.socket.RubyBasicSocket.getRuntime:()Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
invokevirtual org.jruby.ext.socket.RubyBasicSocket.getsockname:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ext/socket/RubyBasicSocket;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public org.jruby.runtime.builtin.IRubyObject getpeername();
descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
invokevirtual org.jruby.ext.socket.RubyBasicSocket.getRuntime:()Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
invokevirtual org.jruby.ext.socket.RubyBasicSocket.getpeername:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ext/socket/RubyBasicSocket;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public static org.jruby.runtime.builtin.IRubyObject do_not_reverse_lookup(org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
aload 0
invokestatic org.jruby.ext.socket.RubyBasicSocket.do_not_reverse_lookup:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 recv Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
recv
public static org.jruby.runtime.builtin.IRubyObject set_do_not_reverse_lookup(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
aload 0
aload 1
invokestatic org.jruby.ext.socket.RubyBasicSocket.set_do_not_reverse_lookup:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 recv Lorg/jruby/runtime/builtin/IRubyObject;
0 1 1 flag Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
recv
flag
static int[] $SWITCH_TABLE$jnr$constants$platform$SocketLevel();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.jruby.ext.socket.RubyBasicSocket.$SWITCH_TABLE$jnr$constants$platform$SocketLevel:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic jnr.constants.platform.SocketLevel.values:()[Ljnr/constants/platform/SocketLevel;
arraylength
newarray 10
astore 0
2: aload 0
getstatic jnr.constants.platform.SocketLevel.SOL_IP:Ljnr/constants/platform/SocketLevel;
invokevirtual jnr.constants.platform.SocketLevel.ordinal:()I
iconst_2
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic jnr.constants.platform.SocketLevel.SOL_SOCKET:Ljnr/constants/platform/SocketLevel;
invokevirtual jnr.constants.platform.SocketLevel.ordinal:()I
iconst_1
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic jnr.constants.platform.SocketLevel.SOL_TCP:Ljnr/constants/platform/SocketLevel;
invokevirtual jnr.constants.platform.SocketLevel.ordinal:()I
iconst_3
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic jnr.constants.platform.SocketLevel.SOL_UDP:Ljnr/constants/platform/SocketLevel;
invokevirtual jnr.constants.platform.SocketLevel.ordinal:()I
iconst_4
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic jnr.constants.platform.SocketLevel.__UNKNOWN_CONSTANT__:Ljnr/constants/platform/SocketLevel;
invokevirtual jnr.constants.platform.SocketLevel.ordinal:()I
iconst_5
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
dup
putstatic org.jruby.ext.socket.RubyBasicSocket.$SWITCH_TABLE$jnr$constants$platform$SocketLevel:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
}
SourceFile: "RubyBasicSocket.java"
NestMembers:
org.jruby.ext.socket.RubyBasicSocket$1 org.jruby.ext.socket.RubyBasicSocket$ReceiveTuple
InnerClasses:
org.jruby.ext.socket.RubyBasicSocket$1
protected ReceiveTuple = org.jruby.ext.socket.RubyBasicSocket$ReceiveTuple of org.jruby.ext.socket.RubyBasicSocket
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyClass(name = {"BasicSocket"}, parent = "IO")