public class org.jruby.ext.socket.RubySocket extends org.jruby.ext.socket.RubyBasicSocket
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jruby.ext.socket.RubySocket
super_class: org.jruby.ext.socket.RubyBasicSocket
{
private static org.jruby.runtime.ObjectAllocator SOCKET_ALLOCATOR;
descriptor: Lorg/jruby/runtime/ObjectAllocator;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static final java.util.regex.Pattern ALREADY_BOUND_PATTERN;
descriptor: Ljava/util/regex/Pattern;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.regex.Pattern ADDR_NOT_AVAIL_PATTERN;
descriptor: Ljava/util/regex/Pattern;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final int MSG_OOB;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int MSG_PEEK;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int MSG_DONTROUTE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 4
public static final int MSG_WAITALL;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 256
protected jnr.constants.platform.AddressFamily soDomain;
descriptor: Ljnr/constants/platform/AddressFamily;
flags: (0x0004) ACC_PROTECTED
protected jnr.constants.platform.ProtocolFamily soProtocolFamily;
descriptor: Ljnr/constants/platform/ProtocolFamily;
flags: (0x0004) ACC_PROTECTED
protected jnr.constants.platform.Sock soType;
descriptor: Ljnr/constants/platform/Sock;
flags: (0x0004) ACC_PROTECTED
protected jnr.netdb.Protocol soProtocol;
descriptor: Ljnr/netdb/Protocol;
flags: (0x0004) ACC_PROTECTED
private static final java.lang.String JRUBY_SERVER_SOCKET_ERROR;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "use ServerSocket for servers (http://wiki.jruby.org/ServerSocket)"
private static volatile int[] $SWITCH_TABLE$jnr$constants$platform$Sock;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$jnr$constants$platform$ProtocolFamily;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new org.jruby.ext.socket.RubySocket$1
dup
invokespecial org.jruby.ext.socket.RubySocket$1.<init>:()V
putstatic org.jruby.ext.socket.RubySocket.SOCKET_ALLOCATOR:Lorg/jruby/runtime/ObjectAllocator;
1: ldc "[Aa]lready.*bound"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
putstatic org.jruby.ext.socket.RubySocket.ALREADY_BOUND_PATTERN:Ljava/util/regex/Pattern;
2: ldc "assign.*address"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
putstatic org.jruby.ext.socket.RubySocket.ADDR_NOT_AVAIL_PATTERN:Ljava/util/regex/Pattern;
3: return
LocalVariableTable:
Start End Slot Name Signature
static void createSocket(org.jruby.Ruby);
descriptor: (Lorg/jruby/Ruby;)V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
ldc "Socket"
aload 0
ldc "BasicSocket"
invokevirtual org.jruby.Ruby.getClass:(Ljava/lang/String;)Lorg/jruby/RubyClass;
getstatic org.jruby.ext.socket.RubySocket.SOCKET_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 "Constants"
invokevirtual org.jruby.RubyClass.defineModuleUnder:(Ljava/lang/String;)Lorg/jruby/RubyModule;
astore 2
start local 2 2: aload 0
aload 2
ldc Ljnr/constants/platform/Sock;
invokevirtual org.jruby.Ruby.loadConstantSet:(Lorg/jruby/RubyModule;Ljava/lang/Class;)V
3: aload 0
aload 2
ldc Ljnr/constants/platform/SocketOption;
invokevirtual org.jruby.Ruby.loadConstantSet:(Lorg/jruby/RubyModule;Ljava/lang/Class;)V
4: aload 0
aload 2
ldc Ljnr/constants/platform/SocketLevel;
invokevirtual org.jruby.Ruby.loadConstantSet:(Lorg/jruby/RubyModule;Ljava/lang/Class;)V
5: aload 0
aload 2
ldc Ljnr/constants/platform/ProtocolFamily;
invokevirtual org.jruby.Ruby.loadConstantSet:(Lorg/jruby/RubyModule;Ljava/lang/Class;)V
6: aload 0
aload 2
ldc Ljnr/constants/platform/AddressFamily;
invokevirtual org.jruby.Ruby.loadConstantSet:(Lorg/jruby/RubyModule;Ljava/lang/Class;)V
7: aload 0
aload 2
ldc Ljnr/constants/platform/INAddr;
invokevirtual org.jruby.Ruby.loadConstantSet:(Lorg/jruby/RubyModule;Ljava/lang/Class;)V
8: aload 0
aload 2
ldc Ljnr/constants/platform/IPProto;
invokevirtual org.jruby.Ruby.loadConstantSet:(Lorg/jruby/RubyModule;Ljava/lang/Class;)V
9: aload 0
aload 2
ldc Ljnr/constants/platform/Shutdown;
invokevirtual org.jruby.Ruby.loadConstantSet:(Lorg/jruby/RubyModule;Ljava/lang/Class;)V
10: aload 0
aload 2
ldc Ljnr/constants/platform/TCP;
invokevirtual org.jruby.Ruby.loadConstantSet:(Lorg/jruby/RubyModule;Ljava/lang/Class;)V
11: aload 0
aload 2
ldc Ljnr/constants/platform/NameInfo;
invokevirtual org.jruby.Ruby.loadConstantSet:(Lorg/jruby/RubyModule;Ljava/lang/Class;)V
12: aload 2
ldc "SOMAXCONN"
aload 0
ldc 128
invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
13: aload 2
ldc "MSG_OOB"
aload 0
iconst_1
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
14: aload 2
ldc "MSG_PEEK"
aload 0
iconst_2
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
15: aload 2
ldc "MSG_DONTROUTE"
aload 0
iconst_4
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
16: aload 2
ldc "MSG_WAITALL"
aload 0
sipush 256
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
17: aload 2
ldc "AI_PASSIVE"
aload 0
iconst_1
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
18: aload 2
ldc "AI_CANONNAME"
aload 0
iconst_2
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
19: aload 2
ldc "AI_NUMERICHOST"
aload 0
iconst_4
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
20: aload 2
ldc "AI_ALL"
aload 0
sipush 256
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
21: aload 2
ldc "AI_V4MAPPED_CFG"
aload 0
sipush 512
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
22: aload 2
ldc "AI_ADDRCONFIG"
aload 0
sipush 1024
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
23: aload 2
ldc "AI_V4MAPPED"
aload 0
sipush 2048
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
24: aload 2
ldc "AI_NUMERICSERV"
aload 0
sipush 4096
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
25: aload 2
ldc "AI_DEFAULT"
aload 0
sipush 1536
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
26: aload 2
ldc "AI_MASK"
aload 0
sipush 5127
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
27: aload 2
ldc "IP_MULTICAST_TTL"
aload 0
bipush 10
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
28: aload 2
ldc "IP_MULTICAST_LOOP"
aload 0
bipush 11
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
29: aload 2
ldc "IP_ADD_MEMBERSHIP"
aload 0
bipush 12
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
30: aload 2
ldc "IP_MAX_MEMBERSHIPS"
aload 0
bipush 20
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
31: aload 2
ldc "IP_DEFAULT_MULTICAST_LOOP"
aload 0
iconst_1
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
32: aload 2
ldc "IP_DEFAULT_MULTICAST_TTL"
aload 0
iconst_1
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
33: aload 1
aload 2
invokevirtual org.jruby.RubyClass.includeModule:(Lorg/jruby/runtime/builtin/IRubyObject;)V
34: aload 1
ldc Lorg/jruby/ext/socket/RubySocket;
invokevirtual org.jruby.RubyClass.defineAnnotatedMethods:(Ljava/lang/Class;)V
35: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 runtime Lorg/jruby/Ruby;
1 36 1 rb_cSocket Lorg/jruby/RubyClass;
2 36 2 rb_mConstants Lorg/jruby/RubyModule;
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.ext.socket.RubyBasicSocket.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
1: aload 0
iconst_0
invokestatic jnr.netdb.Protocol.getProtocolByNumber:(I)Ljnr/netdb/Protocol;
putfield org.jruby.ext.socket.RubySocket.soProtocol:Ljnr/netdb/Protocol;
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ext/socket/RubySocket;
0 3 1 runtime Lorg/jruby/Ruby;
0 3 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=7, 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
instanceof org.jruby.RubyFixnum
ifeq 10
2: aload 2
checkcast org.jruby.RubyFixnum
invokevirtual org.jruby.RubyFixnum.getLongValue:()J
l2i
istore 4
start local 4 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 5
start local 5 4: aload 5
ifnonnull 6
5: aload 3
invokevirtual org.jruby.Ruby.newErrnoEBADFError:()Lorg/jruby/exceptions/RaiseException;
athrow
6: StackMap locals: org.jruby.Ruby int org.jruby.util.io.ChannelFD
StackMap stack:
aload 1
checkcast org.jruby.RubyClass
invokevirtual org.jruby.RubyClass.allocate:()Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.ext.socket.RubySocket
astore 6
start local 6 7: aload 6
aload 3
aload 5
invokevirtual org.jruby.ext.socket.RubySocket.initFieldsFromDescriptor:(Lorg/jruby/Ruby;Lorg/jruby/util/io/ChannelFD;)V
8: aload 6
aload 5
invokevirtual org.jruby.ext.socket.RubySocket.initSocket:(Lorg/jruby/util/io/ChannelFD;)V
9: aload 6
areturn
end local 6 end local 5 end local 4 10: StackMap locals:
StackMap stack:
aload 3
aload 2
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getFixnum:()Lorg/jruby/RubyClass;
invokevirtual org.jruby.Ruby.newTypeError:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 context Lorg/jruby/runtime/ThreadContext;
0 11 1 socketClass Lorg/jruby/runtime/builtin/IRubyObject;
0 11 2 _fd Lorg/jruby/runtime/builtin/IRubyObject;
1 11 3 runtime Lorg/jruby/Ruby;
3 10 4 intFD I
4 10 5 fd Lorg/jruby/util/io/ChannelFD;
7 10 6 socket Lorg/jruby/ext/socket/RubySocket;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(meta = true)
MethodParameters:
Name Flags
context
socketClass
_fd
public org.jruby.runtime.builtin.IRubyObject initialize(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=4, locals=5, 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 0
aload 4
aload 2
aload 3
invokevirtual org.jruby.ext.socket.RubySocket.initFromArgs:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
2: aload 0
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ext/socket/RubySocket;
0 3 1 context Lorg/jruby/runtime/ThreadContext;
0 3 2 domain Lorg/jruby/runtime/builtin/IRubyObject;
0 3 3 type Lorg/jruby/runtime/builtin/IRubyObject;
1 3 4 runtime Lorg/jruby/Ruby;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"initialize"}, visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
MethodParameters:
Name Flags
context
domain
type
public org.jruby.runtime.builtin.IRubyObject initialize(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=6, 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 0
aload 5
aload 2
aload 3
aload 4
invokevirtual org.jruby.ext.socket.RubySocket.initFromArgs:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
2: aload 0
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 3 0 this Lorg/jruby/ext/socket/RubySocket;
0 3 1 context Lorg/jruby/runtime/ThreadContext;
0 3 2 domain Lorg/jruby/runtime/builtin/IRubyObject;
0 3 3 type Lorg/jruby/runtime/builtin/IRubyObject;
0 3 4 protocol Lorg/jruby/runtime/builtin/IRubyObject;
1 3 5 runtime Lorg/jruby/Ruby;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"initialize"}, visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
MethodParameters:
Name Flags
context
domain
type
protocol
public org.jruby.runtime.builtin.IRubyObject connect_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=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
aload 1
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
invokevirtual org.jruby.ext.socket.RubySocket.connect_nonblock:(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/RubySocket;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 arg Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod()
MethodParameters:
Name Flags
context
arg
public org.jruby.runtime.builtin.IRubyObject connect_nonblock(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=5, locals=5, 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.RubySocket.addressForChannel:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/net/SocketAddress;
astore 4
start local 4 1: aload 0
aload 1
aload 4
aload 1
aload 3
invokestatic org.jruby.ext.socket.RubySocket.extractExceptionArg:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
invokevirtual org.jruby.ext.socket.RubySocket.doConnectNonblock:(Lorg/jruby/runtime/ThreadContext;Ljava/net/SocketAddress;Z)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 2 0 this Lorg/jruby/ext/socket/RubySocket;
0 2 1 context Lorg/jruby/runtime/ThreadContext;
0 2 2 arg Lorg/jruby/runtime/builtin/IRubyObject;
0 2 3 opts Lorg/jruby/runtime/builtin/IRubyObject;
1 2 4 addr Ljava/net/SocketAddress;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod()
MethodParameters:
Name Flags
context
arg
opts
public org.jruby.runtime.builtin.IRubyObject connect(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=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.jruby.ext.socket.RubySocket.addressForChannel:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/net/SocketAddress;
astore 3
start local 3 1: aload 0
aload 1
aload 3
iconst_1
invokevirtual org.jruby.ext.socket.RubySocket.doConnect:(Lorg/jruby/runtime/ThreadContext;Ljava/net/SocketAddress;Z)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 2 0 this Lorg/jruby/ext/socket/RubySocket;
0 2 1 context Lorg/jruby/runtime/ThreadContext;
0 2 2 arg Lorg/jruby/runtime/builtin/IRubyObject;
1 2 3 addr Ljava/net/SocketAddress;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod()
MethodParameters:
Name Flags
context
arg
public org.jruby.runtime.builtin.IRubyObject bind(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=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof org.jruby.ext.socket.Addrinfo
ifeq 4
1: aload 2
checkcast org.jruby.ext.socket.Addrinfo
astore 4
start local 4 2: aload 4
invokevirtual org.jruby.ext.socket.Addrinfo.getSocketAddress:()Ljava/net/SocketAddress;
astore 3
end local 4 start local 3 3: goto 5
end local 3 4: StackMap locals:
StackMap stack:
aload 1
aload 2
invokestatic org.jruby.util.io.Sockaddr.addressFromSockaddr:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/net/SocketAddress;
astore 3
start local 3 5: StackMap locals: java.net.SocketAddress
StackMap stack:
aload 0
aload 1
aload 3
invokevirtual org.jruby.ext.socket.RubySocket.doBind:(Lorg/jruby/runtime/ThreadContext;Ljava/net/SocketAddress;)V
6: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
areturn
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/RubySocket;
0 7 1 context Lorg/jruby/runtime/ThreadContext;
0 7 2 arg Lorg/jruby/runtime/builtin/IRubyObject;
3 4 3 sockaddr Ljava/net/SocketAddress;
5 7 3 sockaddr Ljava/net/SocketAddress;
2 3 4 addr Lorg/jruby/ext/socket/Addrinfo;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod()
MethodParameters:
Name Flags
context
arg
public org.jruby.runtime.builtin.IRubyObject recvfrom(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=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokestatic org.jruby.ext.socket.RubyUDPSocket.recvfrom:(Lorg/jruby/ext/socket/RubyBasicSocket;Lorg/jruby/runtime/ThreadContext;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/RubySocket;
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 recvfrom(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.RubySocket.recvfrom:(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/RubySocket;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 _length Lorg/jruby/runtime/builtin/IRubyObject;
0 1 3 _flags Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod()
MethodParameters:
Name Flags
context
_length
_flags
public org.jruby.runtime.builtin.IRubyObject recvfrom_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=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.ext.socket.RubySocket.getOpenFile:()Lorg/jruby/util/io/OpenFile;
ifnonnull 2
1: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
ldc "socket is not connected"
invokevirtual org.jruby.Ruby.newErrnoENOTCONNError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokestatic org.jruby.ext.socket.RubyUDPSocket.recvfrom_nonblock:(Lorg/jruby/ext/socket/RubyBasicSocket;Lorg/jruby/runtime/ThreadContext;[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 3 0 this Lorg/jruby/ext/socket/RubySocket;
0 3 1 context Lorg/jruby/runtime/ThreadContext;
0 3 2 args [Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(required = 1, optional = 3)
MethodParameters:
Name Flags
context
args
public org.jruby.runtime.builtin.IRubyObject listen(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 "use ServerSocket for servers (http://wiki.jruby.org/ServerSocket)"
invokestatic org.jruby.ext.socket.SocketUtils.sockerr:(Lorg/jruby/Ruby;Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ext/socket/RubySocket;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 backlog Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(notImplemented = true)
MethodParameters:
Name Flags
context
backlog
public org.jruby.runtime.builtin.IRubyObject accept(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 "use ServerSocket for servers (http://wiki.jruby.org/ServerSocket)"
invokestatic org.jruby.ext.socket.SocketUtils.sockerr:(Lorg/jruby/Ruby;Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ext/socket/RubySocket;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(notImplemented = true)
MethodParameters:
Name Flags
context
public org.jruby.runtime.builtin.IRubyObject accept_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 "use ServerSocket for servers (http://wiki.jruby.org/ServerSocket)"
invokestatic org.jruby.ext.socket.SocketUtils.sockerr:(Lorg/jruby/Ruby;Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ext/socket/RubySocket;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 args [Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(notImplemented = true, optional = 1)
MethodParameters:
Name Flags
context
args
public static org.jruby.runtime.builtin.IRubyObject gethostname(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=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokestatic org.jruby.ext.socket.SocketUtils.gethostname:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
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 getifaddrs(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=7, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;)Lorg/jruby/RubyArray;
astore 2
start local 2 1: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
ldc "Socket::Ifaddr"
invokevirtual org.jruby.Ruby.getClassFromPath:(Ljava/lang/String;)Lorg/jruby/RubyModule;
checkcast org.jruby.RubyClass
astore 3
start local 3 2: invokestatic java.net.NetworkInterface.getNetworkInterfaces:()Ljava/util/Enumeration;
astore 4
start local 4 3: goto 10
4: StackMap locals: org.jruby.RubyArray org.jruby.RubyClass java.util.Enumeration
StackMap stack:
aload 4
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.net.NetworkInterface
astore 5
start local 5 5: aload 2
new org.jruby.ext.socket.Ifaddr
dup
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 3
aload 5
invokespecial org.jruby.ext.socket.Ifaddr.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Ljava/net/NetworkInterface;)V
invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
pop
6: aload 5
invokevirtual java.net.NetworkInterface.getInterfaceAddresses:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 9
StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.RubyArray org.jruby.RubyClass java.util.Enumeration java.net.NetworkInterface top java.util.Iterator
StackMap stack:
7: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.net.InterfaceAddress
astore 6
start local 6 8: aload 2
new org.jruby.ext.socket.Ifaddr
dup
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 3
aload 5
aload 6
invokespecial org.jruby.ext.socket.Ifaddr.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Ljava/net/NetworkInterface;Ljava/net/InterfaceAddress;)V
invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
pop
end local 6 9: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
end local 5 10: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.RubyArray org.jruby.RubyClass java.util.Enumeration
StackMap stack:
aload 4
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 4
end local 4 11: goto 15
12: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.RubyArray org.jruby.RubyClass
StackMap stack: java.lang.Exception
astore 4
start local 4 13: aload 4
instanceof org.jruby.exceptions.RaiseException
ifeq 14
aload 4
checkcast org.jruby.exceptions.RaiseException
athrow
14: StackMap locals: java.lang.Exception
StackMap stack:
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
new java.lang.StringBuilder
dup
ldc "getifaddrs: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
invokevirtual java.lang.Exception.getStackTrace:()[Ljava/lang/StackTraceElement;
invokestatic org.jruby.ext.socket.SocketUtils.sockerr_with_trace:(Lorg/jruby/Ruby;Ljava/lang/String;[Ljava/lang/StackTraceElement;)Ljava/lang/RuntimeException;
athrow
end local 4 15: StackMap locals:
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 context Lorg/jruby/runtime/ThreadContext;
0 16 1 recv Lorg/jruby/runtime/builtin/IRubyObject;
1 16 2 list Lorg/jruby/RubyArray;
2 16 3 Ifaddr Lorg/jruby/RubyClass;
3 11 4 en Ljava/util/Enumeration<Ljava/net/NetworkInterface;>;
5 10 5 iface Ljava/net/NetworkInterface;
8 9 6 iaddr Ljava/net/InterfaceAddress;
13 15 4 ex Ljava/lang/Exception;
Exception table:
from to target type
2 11 12 Class java.net.SocketException
2 11 12 Class java.lang.RuntimeException
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(meta = true)
MethodParameters:
Name Flags
context
recv
public static org.jruby.runtime.builtin.IRubyObject gethostbyaddr(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
aload 2
invokestatic org.jruby.ext.socket.SocketUtils.gethostbyaddr:(Lorg/jruby/runtime/ThreadContext;[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 context Lorg/jruby/runtime/ThreadContext;
0 1 1 recv Lorg/jruby/runtime/builtin/IRubyObject;
0 1 2 args [Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(required = 1, rest = true, meta = true)
MethodParameters:
Name Flags
context
recv
args
public static org.jruby.runtime.builtin.IRubyObject getservbyname(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
aload 2
invokestatic org.jruby.ext.socket.SocketUtils.getservbyname:(Lorg/jruby/runtime/ThreadContext;[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 context Lorg/jruby/runtime/ThreadContext;
0 1 1 recv Lorg/jruby/runtime/builtin/IRubyObject;
0 1 2 args [Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(required = 1, optional = 1, meta = true)
MethodParameters:
Name Flags
context
recv
args
public static org.jruby.runtime.builtin.IRubyObject pack_sockaddr_in(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: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 2
aload 3
invokestatic org.jruby.util.io.Sockaddr.pack_sockaddr_in:(Lorg/jruby/runtime/ThreadContext;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 context Lorg/jruby/runtime/ThreadContext;
0 1 1 recv Lorg/jruby/runtime/builtin/IRubyObject;
0 1 2 port Lorg/jruby/runtime/builtin/IRubyObject;
0 1 3 host Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"pack_sockaddr_in", "sockaddr_in"}, meta = true)
MethodParameters:
Name Flags
context
recv
port
host
public static org.jruby.runtime.builtin.IRubyObject unpack_sockaddr_in(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
aload 2
invokestatic org.jruby.util.io.Sockaddr.unpack_sockaddr_in:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
areturn
end local 2 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;
0 1 2 addr Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(meta = true)
MethodParameters:
Name Flags
context
recv
addr
public static org.jruby.runtime.builtin.IRubyObject pack_sockaddr_un(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=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
invokevirtual org.jruby.RubyString.asJavaString:()Ljava/lang/String;
astore 3
start local 3 1: aload 0
aload 3
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 2 0 context Lorg/jruby/runtime/ThreadContext;
0 2 1 recv Lorg/jruby/runtime/builtin/IRubyObject;
0 2 2 filename Lorg/jruby/runtime/builtin/IRubyObject;
1 2 3 path Ljava/lang/String;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"pack_sockaddr_un", "sockaddr_un"}, meta = true)
MethodParameters:
Name Flags
context
recv
filename
public static org.jruby.runtime.builtin.IRubyObject unpack_sockaddr_un(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
aload 2
invokestatic org.jruby.util.io.Sockaddr.unpack_sockaddr_un:(Lorg/jruby/runtime/ThreadContext;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 context Lorg/jruby/runtime/ThreadContext;
0 1 1 recv Lorg/jruby/runtime/builtin/IRubyObject;
0 1 2 addr Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(meta = true)
MethodParameters:
Name Flags
context
recv
addr
public static org.jruby.runtime.builtin.IRubyObject gethostbyname(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
aload 2
invokestatic org.jruby.ext.socket.SocketUtils.gethostbyname:(Lorg/jruby/runtime/ThreadContext;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 context Lorg/jruby/runtime/ThreadContext;
0 1 1 recv Lorg/jruby/runtime/builtin/IRubyObject;
0 1 2 hostname Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(meta = true)
MethodParameters:
Name Flags
context
recv
hostname
public static org.jruby.runtime.builtin.IRubyObject getaddrinfo(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
aload 2
invokestatic org.jruby.ext.socket.SocketUtils.getaddrinfo:(Lorg/jruby/runtime/ThreadContext;[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 context Lorg/jruby/runtime/ThreadContext;
0 1 1 recv Lorg/jruby/runtime/builtin/IRubyObject;
0 1 2 args [Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(required = 2, optional = 5, meta = true)
MethodParameters:
Name Flags
context
recv
args
public static org.jruby.runtime.builtin.IRubyObject getnameinfo(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
aload 2
invokestatic org.jruby.ext.socket.SocketUtils.getnameinfo:(Lorg/jruby/runtime/ThreadContext;[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 context Lorg/jruby/runtime/ThreadContext;
0 1 1 recv Lorg/jruby/runtime/builtin/IRubyObject;
0 1 2 args [Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(required = 1, optional = 1, meta = true)
MethodParameters:
Name Flags
context
recv
args
public static org.jruby.runtime.builtin.IRubyObject ip_address_list(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=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokestatic org.jruby.ext.socket.SocketUtils.ip_address_list:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lorg/jruby/runtime/ThreadContext;
0 1 1 self Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(meta = true)
MethodParameters:
Name Flags
context
self
public static org.jruby.runtime.builtin.IRubyObject socketpair(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, 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;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 4
invokestatic org.jruby.ext.socket.SocketUtils.protocolFamilyFromArg:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljnr/constants/platform/ProtocolFamily;
astore 5
start local 5 1: aload 5
ifnonnull 2
getstatic jnr.constants.platform.ProtocolFamily.PF_UNIX:Ljnr/constants/platform/ProtocolFamily;
astore 5
2: StackMap locals: jnr.constants.platform.ProtocolFamily
StackMap stack:
aload 5
getstatic jnr.constants.platform.ProtocolFamily.PF_UNIX:Ljnr/constants/platform/ProtocolFamily;
if_acmpeq 4
aload 5
invokevirtual jnr.constants.platform.ProtocolFamily.ordinal:()I
ifeq 4
3: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
ldc "Socket.socketpair only supports streaming UNIX sockets"
invokevirtual org.jruby.Ruby.newErrnoEOPNOTSUPPError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
4: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
invokestatic org.jruby.ext.socket.RubySocket.socketpair:(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 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 context Lorg/jruby/runtime/ThreadContext;
0 5 1 recv Lorg/jruby/runtime/builtin/IRubyObject;
0 5 2 domain Lorg/jruby/runtime/builtin/IRubyObject;
0 5 3 type Lorg/jruby/runtime/builtin/IRubyObject;
0 5 4 protocol Lorg/jruby/runtime/builtin/IRubyObject;
1 5 5 pf Ljnr/constants/platform/ProtocolFamily;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"socketpair", "pair"}, meta = true)
MethodParameters:
Name Flags
context
recv
domain
type
protocol
public static org.jruby.runtime.builtin.IRubyObject socketpair(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: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=13, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokestatic org.jruby.ext.socket.SocketUtils.addressFamilyFromArg:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljnr/constants/platform/AddressFamily;
astore 4
start local 4 1: aload 4
ifnonnull 2
getstatic jnr.constants.platform.AddressFamily.AF_UNIX:Ljnr/constants/platform/AddressFamily;
astore 4
2: StackMap locals: jnr.constants.platform.AddressFamily
StackMap stack:
aload 3
invokestatic org.jruby.ext.socket.SocketUtils.sockFromArg:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljnr/constants/platform/Sock;
astore 5
start local 5 3: aload 5
ifnonnull 4
getstatic jnr.constants.platform.Sock.SOCK_STREAM:Ljnr/constants/platform/Sock;
astore 5
4: StackMap locals: jnr.constants.platform.Sock
StackMap stack:
aload 4
getstatic jnr.constants.platform.AddressFamily.AF_UNIX:Ljnr/constants/platform/AddressFamily;
if_acmpne 5
aload 5
getstatic jnr.constants.platform.Sock.SOCK_STREAM:Ljnr/constants/platform/Sock;
if_acmpeq 6
5: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
ldc "Socket.socketpair only supports streaming UNIX sockets"
invokevirtual org.jruby.Ruby.newErrnoEOPNOTSUPPError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 6
start local 6 7: invokestatic jnr.unixsocket.UnixSocketChannel.pair:()[Ljnr/unixsocket/UnixSocketChannel;
astore 7
start local 7 8: aload 6
ldc "Socket"
invokevirtual org.jruby.Ruby.getClass:(Ljava/lang/String;)Lorg/jruby/RubyClass;
astore 8
start local 8 9: new org.jruby.ext.socket.RubySocket
dup
aload 6
aload 8
invokespecial org.jruby.ext.socket.RubySocket.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
astore 9
start local 9 10: aload 6
aload 7
iconst_0
aaload
invokestatic org.jruby.ext.socket.RubySocket.newChannelFD:(Lorg/jruby/Ruby;Ljava/nio/channels/Channel;)Lorg/jruby/util/io/ChannelFD;
astore 10
start local 10 11: aload 9
aload 6
aload 10
invokevirtual org.jruby.ext.socket.RubySocket.initFieldsFromDescriptor:(Lorg/jruby/Ruby;Lorg/jruby/util/io/ChannelFD;)V
12: aload 9
aload 10
invokevirtual org.jruby.ext.socket.RubySocket.initSocket:(Lorg/jruby/util/io/ChannelFD;)V
13: new org.jruby.ext.socket.RubySocket
dup
aload 6
aload 8
invokespecial org.jruby.ext.socket.RubySocket.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
astore 11
start local 11 14: aload 6
aload 7
iconst_1
aaload
invokestatic org.jruby.ext.socket.RubySocket.newChannelFD:(Lorg/jruby/Ruby;Ljava/nio/channels/Channel;)Lorg/jruby/util/io/ChannelFD;
astore 12
start local 12 15: aload 11
aload 6
aload 12
invokevirtual org.jruby.ext.socket.RubySocket.initFieldsFromDescriptor:(Lorg/jruby/Ruby;Lorg/jruby/util/io/ChannelFD;)V
16: aload 11
aload 12
invokevirtual org.jruby.ext.socket.RubySocket.initSocket:(Lorg/jruby/util/io/ChannelFD;)V
17: aload 6
aload 9
aload 11
invokevirtual org.jruby.Ruby.newArray:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
18: areturn
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 19: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject jnr.constants.platform.AddressFamily jnr.constants.platform.Sock org.jruby.Ruby
StackMap stack: java.io.IOException
astore 8
start local 8 20: aload 6
aload 8
invokevirtual org.jruby.Ruby.newIOErrorFromException:(Ljava/io/IOException;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 8 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 21 0 context Lorg/jruby/runtime/ThreadContext;
0 21 1 recv Lorg/jruby/runtime/builtin/IRubyObject;
0 21 2 domain Lorg/jruby/runtime/builtin/IRubyObject;
0 21 3 type Lorg/jruby/runtime/builtin/IRubyObject;
1 21 4 af Ljnr/constants/platform/AddressFamily;
3 21 5 s Ljnr/constants/platform/Sock;
7 21 6 runtime Lorg/jruby/Ruby;
8 19 7 sp [Ljnr/unixsocket/UnixSocketChannel;
9 19 8 socketClass Lorg/jruby/RubyClass;
10 19 9 sock0 Lorg/jruby/ext/socket/RubySocket;
11 19 10 fd0 Lorg/jruby/util/io/ChannelFD;
14 19 11 sock1 Lorg/jruby/ext/socket/RubySocket;
15 19 12 fd1 Lorg/jruby/util/io/ChannelFD;
20 21 8 ioe Ljava/io/IOException;
Exception table:
from to target type
7 18 19 Class java.io.IOException
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"socketpair", "pair"}, meta = true)
MethodParameters:
Name Flags
context
recv
domain
type
private void initFieldsFromDescriptor(org.jruby.Ruby, org.jruby.util.io.ChannelFD);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/io/ChannelFD;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
getfield org.jruby.util.io.ChannelFD.ch:Ljava/nio/channels/Channel;
astore 3
start local 3 1: aload 3
instanceof java.nio.channels.SocketChannel
ifeq 7
2: aload 0
getstatic jnr.constants.platform.AddressFamily.AF_INET:Ljnr/constants/platform/AddressFamily;
putfield org.jruby.ext.socket.RubySocket.soDomain:Ljnr/constants/platform/AddressFamily;
3: aload 0
getstatic jnr.constants.platform.Sock.SOCK_STREAM:Ljnr/constants/platform/Sock;
putfield org.jruby.ext.socket.RubySocket.soType:Ljnr/constants/platform/Sock;
4: aload 0
getstatic jnr.constants.platform.ProtocolFamily.PF_INET:Ljnr/constants/platform/ProtocolFamily;
putfield org.jruby.ext.socket.RubySocket.soProtocolFamily:Ljnr/constants/platform/ProtocolFamily;
5: aload 0
ldc "tcp"
invokestatic jnr.netdb.Protocol.getProtocolByName:(Ljava/lang/String;)Ljnr/netdb/Protocol;
putfield org.jruby.ext.socket.RubySocket.soProtocol:Ljnr/netdb/Protocol;
6: goto 18
StackMap locals: java.nio.channels.Channel
StackMap stack:
7: aload 3
instanceof jnr.unixsocket.UnixSocketChannel
ifeq 12
8: aload 0
getstatic jnr.constants.platform.AddressFamily.AF_UNIX:Ljnr/constants/platform/AddressFamily;
putfield org.jruby.ext.socket.RubySocket.soDomain:Ljnr/constants/platform/AddressFamily;
9: aload 0
getstatic jnr.constants.platform.Sock.SOCK_STREAM:Ljnr/constants/platform/Sock;
putfield org.jruby.ext.socket.RubySocket.soType:Ljnr/constants/platform/Sock;
10: aload 0
getstatic jnr.constants.platform.ProtocolFamily.PF_UNIX:Ljnr/constants/platform/ProtocolFamily;
putfield org.jruby.ext.socket.RubySocket.soProtocolFamily:Ljnr/constants/platform/ProtocolFamily;
11: goto 18
StackMap locals:
StackMap stack:
12: aload 3
instanceof java.nio.channels.DatagramChannel
ifeq 17
13: aload 0
getstatic jnr.constants.platform.AddressFamily.AF_INET:Ljnr/constants/platform/AddressFamily;
putfield org.jruby.ext.socket.RubySocket.soDomain:Ljnr/constants/platform/AddressFamily;
14: aload 0
getstatic jnr.constants.platform.Sock.SOCK_DGRAM:Ljnr/constants/platform/Sock;
putfield org.jruby.ext.socket.RubySocket.soType:Ljnr/constants/platform/Sock;
15: aload 0
getstatic jnr.constants.platform.ProtocolFamily.PF_INET:Ljnr/constants/platform/ProtocolFamily;
putfield org.jruby.ext.socket.RubySocket.soProtocolFamily:Ljnr/constants/platform/ProtocolFamily;
16: goto 18
17: StackMap locals:
StackMap stack:
aload 1
ldc "can't Socket.new/for_fd against a non-socket"
invokevirtual org.jruby.Ruby.newErrnoENOTSOCKError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
18: StackMap locals:
StackMap stack:
return
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/RubySocket;
0 19 1 runtime Lorg/jruby/Ruby;
0 19 2 fd Lorg/jruby/util/io/ChannelFD;
1 19 3 mainChannel Ljava/nio/channels/Channel;
MethodParameters:
Name Flags
runtime
fd
private void initFromArgs(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
flags: (0x0002) ACC_PRIVATE
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 4
invokevirtual org.jruby.ext.socket.RubySocket.setProtocol:(Lorg/jruby/runtime/builtin/IRubyObject;)V
1: aload 0
aload 1
aload 2
aload 3
invokevirtual org.jruby.ext.socket.RubySocket.initFromArgs:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
2: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ext/socket/RubySocket;
0 3 1 runtime Lorg/jruby/Ruby;
0 3 2 domain Lorg/jruby/runtime/builtin/IRubyObject;
0 3 3 type Lorg/jruby/runtime/builtin/IRubyObject;
0 3 4 protocol Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
runtime
domain
type
protocol
private void initFromArgs(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, 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.RubySocket.setDomain:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)V
1: aload 0
aload 1
aload 3
invokevirtual org.jruby.ext.socket.RubySocket.setType:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)V
2: aload 0
aload 1
invokevirtual org.jruby.ext.socket.RubySocket.initChannelFD:(Lorg/jruby/Ruby;)Lorg/jruby/util/io/ChannelFD;
astore 4
start local 4 3: aload 0
aload 4
invokevirtual org.jruby.ext.socket.RubySocket.initSocket:(Lorg/jruby/util/io/ChannelFD;)V
4: return
end local 4 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/RubySocket;
0 5 1 runtime Lorg/jruby/Ruby;
0 5 2 domain Lorg/jruby/runtime/builtin/IRubyObject;
0 5 3 type Lorg/jruby/runtime/builtin/IRubyObject;
3 5 4 fd Lorg/jruby/util/io/ChannelFD;
MethodParameters:
Name Flags
runtime
domain
type
protected void initFromServer(org.jruby.Ruby, org.jruby.ext.socket.RubySocket, java.nio.channels.SocketChannel);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/ext/socket/RubySocket;Ljava/nio/channels/SocketChannel;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 2
getfield org.jruby.ext.socket.RubySocket.soDomain:Ljnr/constants/platform/AddressFamily;
putfield org.jruby.ext.socket.RubySocket.soDomain:Ljnr/constants/platform/AddressFamily;
1: aload 0
aload 2
getfield org.jruby.ext.socket.RubySocket.soType:Ljnr/constants/platform/Sock;
putfield org.jruby.ext.socket.RubySocket.soType:Ljnr/constants/platform/Sock;
2: aload 0
aload 2
getfield org.jruby.ext.socket.RubySocket.soProtocol:Ljnr/netdb/Protocol;
putfield org.jruby.ext.socket.RubySocket.soProtocol:Ljnr/netdb/Protocol;
3: aload 0
aload 1
aload 3
invokestatic org.jruby.ext.socket.RubySocket.newChannelFD:(Lorg/jruby/Ruby;Ljava/nio/channels/Channel;)Lorg/jruby/util/io/ChannelFD;
invokevirtual org.jruby.ext.socket.RubySocket.initSocket:(Lorg/jruby/util/io/ChannelFD;)V
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/ext/socket/RubySocket;
0 5 1 runtime Lorg/jruby/Ruby;
0 5 2 serverSocket Lorg/jruby/ext/socket/RubySocket;
0 5 3 socketChannel Ljava/nio/channels/SocketChannel;
MethodParameters:
Name Flags
runtime
serverSocket
socketChannel
protected org.jruby.util.io.ChannelFD initChannelFD(org.jruby.Ruby);
descriptor: (Lorg/jruby/Ruby;)Lorg/jruby/util/io/ChannelFD;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: invokestatic org.jruby.ext.socket.RubySocket.$SWITCH_TABLE$jnr$constants$platform$Sock:()[I
aload 0
getfield org.jruby.ext.socket.RubySocket.soType:Ljnr/constants/platform/Sock;
invokevirtual jnr.constants.platform.Sock.ordinal:()I
iaload
tableswitch { // 1 - 2
1: 1
2: 11
default: 13
}
1: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.ext.socket.RubySocket.soProtocolFamily:Ljnr/constants/platform/ProtocolFamily;
getstatic jnr.constants.platform.ProtocolFamily.PF_UNIX:Ljnr/constants/platform/ProtocolFamily;
if_acmpeq 3
2: aload 0
getfield org.jruby.ext.socket.RubySocket.soProtocolFamily:Ljnr/constants/platform/ProtocolFamily;
getstatic jnr.constants.platform.ProtocolFamily.PF_LOCAL:Ljnr/constants/platform/ProtocolFamily;
if_acmpne 5
3: StackMap locals:
StackMap stack:
invokestatic jnr.unixsocket.UnixSocketChannel.open:()Ljnr/unixsocket/UnixSocketChannel;
astore 2
start local 2 4: goto 14
end local 2 5: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.ext.socket.RubySocket.soProtocolFamily:Ljnr/constants/platform/ProtocolFamily;
getstatic jnr.constants.platform.ProtocolFamily.PF_INET:Ljnr/constants/platform/ProtocolFamily;
if_acmpeq 8
6: aload 0
getfield org.jruby.ext.socket.RubySocket.soProtocolFamily:Ljnr/constants/platform/ProtocolFamily;
getstatic jnr.constants.platform.ProtocolFamily.PF_INET6:Ljnr/constants/platform/ProtocolFamily;
if_acmpeq 8
7: aload 0
getfield org.jruby.ext.socket.RubySocket.soProtocolFamily:Ljnr/constants/platform/ProtocolFamily;
getstatic jnr.constants.platform.ProtocolFamily.PF_UNSPEC:Ljnr/constants/platform/ProtocolFamily;
if_acmpne 10
8: StackMap locals:
StackMap stack:
invokestatic java.nio.channels.SocketChannel.open:()Ljava/nio/channels/SocketChannel;
astore 2
start local 2 9: goto 14
end local 2 10: StackMap locals:
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
ldc "unsupported protocol family `"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.jruby.ext.socket.RubySocket.soProtocolFamily:Ljnr/constants/platform/ProtocolFamily;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "'"
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
11: StackMap locals:
StackMap stack:
invokestatic java.nio.channels.DatagramChannel.open:()Ljava/nio/channels/DatagramChannel;
astore 2
start local 2 12: goto 14
end local 2 13: StackMap locals:
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
ldc "unsupported socket type `"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.jruby.ext.socket.RubySocket.soType:Ljnr/constants/platform/Sock;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "'"
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
start local 2 14: StackMap locals: java.nio.channels.Channel
StackMap stack:
aload 1
aload 2
invokestatic org.jruby.ext.socket.RubySocket.newChannelFD:(Lorg/jruby/Ruby;Ljava/nio/channels/Channel;)Lorg/jruby/util/io/ChannelFD;
15: areturn
end local 2 16: StackMap locals: org.jruby.ext.socket.RubySocket org.jruby.Ruby
StackMap stack: java.io.IOException
astore 2
start local 2 17: aload 1
new java.lang.StringBuilder
dup
ldc "initialize: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.io.IOException.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
invokestatic org.jruby.ext.socket.RubySocket.sockerr:(Lorg/jruby/Ruby;Ljava/lang/String;Ljava/lang/Exception;)Ljava/lang/RuntimeException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/jruby/ext/socket/RubySocket;
0 18 1 runtime Lorg/jruby/Ruby;
4 5 2 channel Ljava/nio/channels/Channel;
9 10 2 channel Ljava/nio/channels/Channel;
12 13 2 channel Ljava/nio/channels/Channel;
14 16 2 channel Ljava/nio/channels/Channel;
17 18 2 e Ljava/io/IOException;
Exception table:
from to target type
0 15 16 Class java.io.IOException
MethodParameters:
Name Flags
runtime
private void setProtocol(org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.jruby.ext.socket.SocketUtils.protocolFromArg:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljnr/netdb/Protocol;
putfield org.jruby.ext.socket.RubySocket.soProtocol:Ljnr/netdb/Protocol;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ext/socket/RubySocket;
0 2 1 protocol Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
protocol
private void setType(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokestatic org.jruby.ext.socket.SocketUtils.sockFromArg:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljnr/constants/platform/Sock;
astore 3
start local 3 1: aload 3
ifnonnull 3
2: aload 1
new java.lang.StringBuilder
dup
ldc "unknown socket type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.jruby.ext.socket.SocketUtils.sockerr:(Lorg/jruby/Ruby;Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
3: StackMap locals: jnr.constants.platform.Sock
StackMap stack:
aload 0
aload 3
putfield org.jruby.ext.socket.RubySocket.soType:Ljnr/constants/platform/Sock;
4: return
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/RubySocket;
0 5 1 runtime Lorg/jruby/Ruby;
0 5 2 type Lorg/jruby/runtime/builtin/IRubyObject;
1 5 3 sockType Ljnr/constants/platform/Sock;
MethodParameters:
Name Flags
runtime
type
private void setDomain(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokestatic org.jruby.ext.socket.SocketUtils.addressFamilyFromArg:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljnr/constants/platform/AddressFamily;
astore 3
start local 3 1: aload 3
ifnonnull 3
2: aload 1
new java.lang.StringBuilder
dup
ldc "unknown socket domain "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.jruby.ext.socket.SocketUtils.sockerr:(Lorg/jruby/Ruby;Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
3: StackMap locals: jnr.constants.platform.AddressFamily
StackMap stack:
aload 0
aload 3
putfield org.jruby.ext.socket.RubySocket.soDomain:Ljnr/constants/platform/AddressFamily;
4: aload 0
getfield org.jruby.ext.socket.RubySocket.soDomain:Ljnr/constants/platform/AddressFamily;
invokevirtual jnr.constants.platform.AddressFamily.name:()Ljava/lang/String;
astore 4
start local 4 5: aload 4
ldc "pseudo_"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 6
aload 4
bipush 7
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 4
6: StackMap locals: java.lang.String
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
ldc "PF"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
iconst_2
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic jnr.constants.platform.ProtocolFamily.valueOf:(Ljava/lang/String;)Ljnr/constants/platform/ProtocolFamily;
putfield org.jruby.ext.socket.RubySocket.soProtocolFamily:Ljnr/constants/platform/ProtocolFamily;
7: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/jruby/ext/socket/RubySocket;
0 8 1 runtime Lorg/jruby/Ruby;
0 8 2 domain Lorg/jruby/runtime/builtin/IRubyObject;
1 8 3 family Ljnr/constants/platform/AddressFamily;
5 8 4 name Ljava/lang/String;
MethodParameters:
Name Flags
runtime
domain
private org.jruby.runtime.builtin.IRubyObject doConnectNonblock(org.jruby.runtime.ThreadContext, java.net.SocketAddress, boolean);
descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/net/SocketAddress;Z)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual org.jruby.ext.socket.RubySocket.getChannel:()Ljava/nio/channels/Channel;
astore 4
start local 4 1: aload 4
instanceof java.nio.channels.SelectableChannel
ifne 3
2: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.newErrnoENOPROTOOPTError:()Lorg/jruby/exceptions/RaiseException;
athrow
3: StackMap locals: java.nio.channels.Channel
StackMap stack:
aload 4
checkcast java.nio.channels.SelectableChannel
astore 5
start local 5 4: aload 5
invokevirtual java.nio.channels.SelectableChannel.blockingLock:()Ljava/lang/Object;
dup
astore 6
monitorenter
5: aload 5
invokevirtual java.nio.channels.SelectableChannel.isBlocking:()Z
istore 7
start local 7 6: aload 5
iconst_0
invokevirtual java.nio.channels.SelectableChannel.configureBlocking:(Z)Ljava/nio/channels/SelectableChannel;
pop
7: aload 0
aload 1
aload 2
iload 3
invokevirtual org.jruby.ext.socket.RubySocket.doConnect:(Lorg/jruby/runtime/ThreadContext;Ljava/net/SocketAddress;Z)Lorg/jruby/runtime/builtin/IRubyObject;
astore 9
8: aload 5
iload 7
invokevirtual java.nio.channels.SelectableChannel.configureBlocking:(Z)Ljava/nio/channels/SelectableChannel;
pop
9: aload 6
monitorexit
10: aload 9
areturn
11: StackMap locals: org.jruby.ext.socket.RubySocket org.jruby.runtime.ThreadContext java.net.SocketAddress int java.nio.channels.Channel java.nio.channels.SelectableChannel java.lang.Object int
StackMap stack: java.lang.Throwable
astore 8
12: aload 5
iload 7
invokevirtual java.nio.channels.SelectableChannel.configureBlocking:(Z)Ljava/nio/channels/SelectableChannel;
pop
13: aload 8
athrow
14: StackMap locals:
StackMap stack: java.nio.channels.ClosedChannelException
pop
15: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.newErrnoECONNREFUSEDError:()Lorg/jruby/exceptions/RaiseException;
athrow
16: StackMap locals:
StackMap stack: java.io.IOException
astore 8
start local 8 17: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
ldc "connect(2): name or service not known"
aload 8
invokestatic org.jruby.ext.socket.RubySocket.sockerr:(Lorg/jruby/Ruby;Ljava/lang/String;Ljava/lang/Exception;)Ljava/lang/RuntimeException;
athrow
end local 8 end local 7 18: StackMap locals: org.jruby.ext.socket.RubySocket org.jruby.runtime.ThreadContext java.net.SocketAddress int java.nio.channels.Channel java.nio.channels.SelectableChannel java.lang.Object
StackMap stack: java.lang.Throwable
aload 6
monitorexit
19: athrow
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/RubySocket;
0 20 1 context Lorg/jruby/runtime/ThreadContext;
0 20 2 addr Ljava/net/SocketAddress;
0 20 3 ex Z
1 20 4 channel Ljava/nio/channels/Channel;
4 20 5 selectable Ljava/nio/channels/SelectableChannel;
6 18 7 oldBlocking Z
17 18 8 e Ljava/io/IOException;
Exception table:
from to target type
7 8 11 any
6 9 14 Class java.nio.channels.ClosedChannelException
11 14 14 Class java.nio.channels.ClosedChannelException
6 9 16 Class java.io.IOException
11 14 16 Class java.io.IOException
5 10 18 any
11 19 18 any
MethodParameters:
Name Flags
context
addr
ex
protected org.jruby.runtime.builtin.IRubyObject doConnect(org.jruby.runtime.ThreadContext, java.net.SocketAddress, boolean);
descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/net/SocketAddress;Z)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=8, 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 0
invokevirtual org.jruby.ext.socket.RubySocket.getChannel:()Ljava/nio/channels/Channel;
astore 5
start local 5 2: iconst_1
istore 6
start local 6 3: aload 5
instanceof java.nio.channels.SocketChannel
ifeq 10
4: aload 5
checkcast java.nio.channels.SocketChannel
astore 7
start local 7 5: aload 7
invokevirtual java.nio.channels.SocketChannel.isConnectionPending:()Z
ifeq 8
6: aload 7
invokevirtual java.nio.channels.SocketChannel.finishConnect:()Z
istore 6
7: goto 17
8: StackMap locals: org.jruby.ext.socket.RubySocket org.jruby.runtime.ThreadContext java.net.SocketAddress int org.jruby.Ruby java.nio.channels.Channel int java.nio.channels.SocketChannel
StackMap stack:
aload 7
aload 2
invokevirtual java.nio.channels.SocketChannel.connect:(Ljava/net/SocketAddress;)Z
istore 6
end local 7 9: goto 17
10: StackMap locals:
StackMap stack:
aload 5
instanceof jnr.unixsocket.UnixSocketChannel
ifeq 13
11: aload 5
checkcast jnr.unixsocket.UnixSocketChannel
aload 2
checkcast jnr.unixsocket.UnixSocketAddress
invokevirtual jnr.unixsocket.UnixSocketChannel.connect:(Ljnr/unixsocket/UnixSocketAddress;)Z
istore 6
12: goto 17
13: StackMap locals:
StackMap stack:
aload 5
instanceof java.nio.channels.DatagramChannel
ifeq 16
14: aload 5
checkcast java.nio.channels.DatagramChannel
aload 2
invokevirtual java.nio.channels.DatagramChannel.connect:(Ljava/net/SocketAddress;)Ljava/nio/channels/DatagramChannel;
pop
15: goto 17
16: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.jruby.Ruby.newErrnoENOPROTOOPTError:()Lorg/jruby/exceptions/RaiseException;
athrow
17: StackMap locals:
StackMap stack:
iload 6
ifne 35
18: iload 3
ifne 20
aload 4
ldc "wait_writable"
invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
19: areturn
20: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.jruby.Ruby.newErrnoEINPROGRESSWritableError:()Lorg/jruby/exceptions/RaiseException;
athrow
end local 6 21: StackMap locals: org.jruby.ext.socket.RubySocket org.jruby.runtime.ThreadContext java.net.SocketAddress int org.jruby.Ruby java.nio.channels.Channel
StackMap stack: java.nio.channels.AlreadyConnectedException
pop
22: iload 3
ifne 23
aload 4
iconst_0
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
areturn
23: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.jruby.Ruby.newErrnoEISCONNError:()Lorg/jruby/exceptions/RaiseException;
athrow
24: StackMap locals:
StackMap stack: java.nio.channels.ConnectionPendingException
pop
25: aload 4
invokevirtual org.jruby.Ruby.newErrnoEINPROGRESSWritableError:()Lorg/jruby/exceptions/RaiseException;
athrow
26: StackMap locals:
StackMap stack: java.net.UnknownHostException
pop
27: aload 4
ldc "connect(2): unknown host"
invokestatic org.jruby.ext.socket.SocketUtils.sockerr:(Lorg/jruby/Ruby;Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
28: StackMap locals:
StackMap stack: java.net.SocketException
astore 6
start local 6 29: aload 0
invokevirtual org.jruby.ext.socket.RubySocket.getOpenFile:()Lorg/jruby/util/io/OpenFile;
aload 4
iconst_1
invokevirtual org.jruby.util.io.OpenFile.cleanup:(Lorg/jruby/Ruby;Z)V
30: aload 4
aload 6
ldc "connect(2)"
aload 2
invokestatic org.jruby.ext.socket.RubySocket.buildSocketException:(Lorg/jruby/Ruby;Ljava/net/SocketException;Ljava/lang/String;Ljava/net/SocketAddress;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 6 31: StackMap locals:
StackMap stack: java.io.IOException
astore 6
start local 6 32: aload 4
ldc "connect(2): name or service not known"
aload 6
invokestatic org.jruby.ext.socket.RubySocket.sockerr:(Lorg/jruby/Ruby;Ljava/lang/String;Ljava/lang/Exception;)Ljava/lang/RuntimeException;
athrow
end local 6 33: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
astore 6
start local 6 34: aload 4
aload 6
invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
aload 6
invokestatic org.jruby.ext.socket.RubySocket.sockerr:(Lorg/jruby/Ruby;Ljava/lang/String;Ljava/lang/Exception;)Ljava/lang/RuntimeException;
athrow
end local 6 35: StackMap locals:
StackMap stack:
aload 4
iconst_0
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
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 36 0 this Lorg/jruby/ext/socket/RubySocket;
0 36 1 context Lorg/jruby/runtime/ThreadContext;
0 36 2 addr Ljava/net/SocketAddress;
0 36 3 ex Z
1 36 4 runtime Lorg/jruby/Ruby;
2 36 5 channel Ljava/nio/channels/Channel;
3 21 6 result Z
5 9 7 socket Ljava/nio/channels/SocketChannel;
29 31 6 e Ljava/net/SocketException;
32 33 6 e Ljava/io/IOException;
34 35 6 e Ljava/lang/IllegalArgumentException;
Exception table:
from to target type
2 19 21 Class java.nio.channels.AlreadyConnectedException
20 21 21 Class java.nio.channels.AlreadyConnectedException
2 19 24 Class java.nio.channels.ConnectionPendingException
20 21 24 Class java.nio.channels.ConnectionPendingException
2 19 26 Class java.net.UnknownHostException
20 21 26 Class java.net.UnknownHostException
2 19 28 Class java.net.SocketException
20 21 28 Class java.net.SocketException
2 19 31 Class java.io.IOException
20 21 31 Class java.io.IOException
2 19 33 Class java.lang.IllegalArgumentException
20 21 33 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
context
addr
ex
protected void doBind(org.jruby.runtime.ThreadContext, java.net.SocketAddress);
descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/net/SocketAddress;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 3
start local 3 1: aload 0
invokevirtual org.jruby.ext.socket.RubySocket.getChannel:()Ljava/nio/channels/Channel;
astore 4
start local 4 2: aload 4
instanceof java.nio.channels.SocketChannel
ifeq 6
3: aload 4
checkcast java.nio.channels.SocketChannel
invokevirtual java.nio.channels.SocketChannel.socket:()Ljava/net/Socket;
astore 5
start local 5 4: aload 5
aload 2
invokevirtual java.net.Socket.bind:(Ljava/net/SocketAddress;)V
end local 5 5: goto 20
6: StackMap locals: org.jruby.Ruby java.nio.channels.Channel
StackMap stack:
aload 4
instanceof jnr.unixsocket.UnixSocketChannel
ifne 20
7: aload 4
instanceof java.nio.channels.DatagramChannel
ifeq 11
8: aload 4
checkcast java.nio.channels.DatagramChannel
invokevirtual java.nio.channels.DatagramChannel.socket:()Ljava/net/DatagramSocket;
astore 5
start local 5 9: aload 5
aload 2
invokevirtual java.net.DatagramSocket.bind:(Ljava/net/SocketAddress;)V
end local 5 10: goto 20
11: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.jruby.Ruby.newErrnoENOPROTOOPTError:()Lorg/jruby/exceptions/RaiseException;
athrow
12: StackMap locals:
StackMap stack: java.net.UnknownHostException
pop
13: aload 3
ldc "bind(2): unknown host"
invokestatic org.jruby.ext.socket.SocketUtils.sockerr:(Lorg/jruby/Ruby;Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
14: StackMap locals:
StackMap stack: java.net.SocketException
astore 5
start local 5 15: aload 3
aload 5
ldc "bind(2)"
aload 2
invokestatic org.jruby.ext.socket.RubySocket.buildSocketException:(Lorg/jruby/Ruby;Ljava/net/SocketException;Ljava/lang/String;Ljava/net/SocketAddress;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 5 16: StackMap locals:
StackMap stack: java.io.IOException
astore 5
start local 5 17: aload 3
ldc "bind(2): name or service not known"
aload 5
invokestatic org.jruby.ext.socket.RubySocket.sockerr:(Lorg/jruby/Ruby;Ljava/lang/String;Ljava/lang/Exception;)Ljava/lang/RuntimeException;
athrow
end local 5 18: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
astore 5
start local 5 19: aload 3
aload 5
invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
aload 5
invokestatic org.jruby.ext.socket.RubySocket.sockerr:(Lorg/jruby/Ruby;Ljava/lang/String;Ljava/lang/Exception;)Ljava/lang/RuntimeException;
athrow
end local 5 20: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lorg/jruby/ext/socket/RubySocket;
0 21 1 context Lorg/jruby/runtime/ThreadContext;
0 21 2 iaddr Ljava/net/SocketAddress;
1 21 3 runtime Lorg/jruby/Ruby;
2 21 4 channel Ljava/nio/channels/Channel;
4 5 5 socket Ljava/net/Socket;
9 10 5 socket Ljava/net/DatagramSocket;
15 16 5 e Ljava/net/SocketException;
17 18 5 e Ljava/io/IOException;
19 20 5 e Ljava/lang/IllegalArgumentException;
Exception table:
from to target type
2 12 12 Class java.net.UnknownHostException
2 12 14 Class java.net.SocketException
2 12 16 Class java.io.IOException
2 12 18 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
context
iaddr
static org.jruby.exceptions.RaiseException buildSocketException(org.jruby.Ruby, java.net.SocketException, java.lang.String, java.net.SocketAddress);
descriptor: (Lorg/jruby/Ruby;Ljava/net/SocketException;Ljava/lang/String;Ljava/net/SocketAddress;)Lorg/jruby/exceptions/RaiseException;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokestatic org.jruby.runtime.Helpers.errnoFromException:(Ljava/lang/Throwable;)Ljnr/constants/platform/Errno;
astore 4
start local 4 1: new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " for "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokestatic org.jruby.ext.socket.RubySocket.formatAddress:(Ljava/net/SocketAddress;)Ljava/lang/CharSequence;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
start local 5 2: aload 4
ifnull 4
3: aload 0
aload 4
aload 5
invokevirtual org.jruby.Ruby.newErrnoFromErrno:(Ljnr/constants/platform/Errno;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
areturn
4: StackMap locals: jnr.constants.platform.Errno java.lang.String
StackMap stack:
aload 1
invokevirtual java.net.SocketException.getMessage:()Ljava/lang/String;
astore 6
start local 6 5: aload 6
ifnull 10
6: getstatic org.jruby.ext.socket.RubySocket.ALREADY_BOUND_PATTERN:Ljava/util/regex/Pattern;
aload 6
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
invokevirtual java.util.regex.Matcher.find:()Z
ifeq 8
7: aload 0
aload 5
invokevirtual org.jruby.Ruby.newErrnoEINVALError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
areturn
8: StackMap locals: java.lang.String
StackMap stack:
getstatic org.jruby.ext.socket.RubySocket.ADDR_NOT_AVAIL_PATTERN:Ljava/util/regex/Pattern;
aload 6
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
invokevirtual java.util.regex.Matcher.find:()Z
ifeq 10
9: aload 0
aload 5
invokevirtual org.jruby.Ruby.newErrnoEADDRNOTAVAILError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
areturn
10: StackMap locals:
StackMap stack:
aload 0
aload 5
invokevirtual org.jruby.Ruby.newIOError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
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 11 0 runtime Lorg/jruby/Ruby;
0 11 1 ex Ljava/net/SocketException;
0 11 2 caller Ljava/lang/String;
0 11 3 addr Ljava/net/SocketAddress;
1 11 4 errno Ljnr/constants/platform/Errno;
2 11 5 callerWithAddr Ljava/lang/String;
5 11 6 message Ljava/lang/String;
MethodParameters:
Name Flags
runtime final
ex final
caller final
addr final
private static java.lang.CharSequence formatAddress(java.net.SocketAddress);
descriptor: (Ljava/net/SocketAddress;)Ljava/lang/CharSequence;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
ifnonnull 1
aconst_null
areturn
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
astore 1
start local 1 2: aload 1
invokevirtual java.lang.String.length:()I
ifle 4
aload 1
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 47
if_icmpne 4
3: aload 1
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
areturn
4: StackMap locals: java.lang.String
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 addr Ljava/net/SocketAddress;
2 5 1 str Ljava/lang/String;
MethodParameters:
Name Flags
addr final
private java.net.SocketAddress addressForChannel(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/net/SocketAddress;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof org.jruby.ext.socket.Addrinfo
ifeq 1
aload 2
checkcast org.jruby.ext.socket.Addrinfo
invokevirtual org.jruby.ext.socket.Addrinfo.getSocketAddress:()Ljava/net/SocketAddress;
areturn
1: StackMap locals:
StackMap stack:
invokestatic org.jruby.ext.socket.RubySocket.$SWITCH_TABLE$jnr$constants$platform$ProtocolFamily:()[I
aload 0
getfield org.jruby.ext.socket.RubySocket.soProtocolFamily:Ljnr/constants/platform/ProtocolFamily;
invokevirtual jnr.constants.platform.ProtocolFamily.ordinal:()I
iaload
lookupswitch { // 5
1: 3
2: 2
3: 2
4: 3
32: 3
default: 4
}
2: StackMap locals:
StackMap stack:
aload 1
aload 2
invokestatic org.jruby.util.io.Sockaddr.addressFromSockaddr_un:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Ljnr/unixsocket/UnixSocketAddress;
areturn
3: StackMap locals:
StackMap stack:
aload 1
aload 2
invokestatic org.jruby.util.io.Sockaddr.addressFromSockaddr_in:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/net/InetSocketAddress;
areturn
4: StackMap locals:
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
new java.lang.StringBuilder
dup
ldc "unsupported protocol family `"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.jruby.ext.socket.RubySocket.soProtocolFamily:Ljnr/constants/platform/ProtocolFamily;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "'"
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 5 0 this Lorg/jruby/ext/socket/RubySocket;
0 5 1 context Lorg/jruby/runtime/ThreadContext;
0 5 2 arg Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
arg
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=7, locals=5, 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: new org.jruby.ext.socket.Addrinfo
dup
aload 4
aload 4
ldc "Addrinfo"
invokevirtual org.jruby.Ruby.getClass:(Ljava/lang/String;)Lorg/jruby/RubyClass;
aload 2
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
aload 2
invokevirtual java.net.InetSocketAddress.getPort:()I
getstatic jnr.constants.platform.Sock.SOCK_DGRAM:Ljnr/constants/platform/Sock;
invokespecial org.jruby.ext.socket.Addrinfo.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Ljava/net/InetAddress;ILjnr/constants/platform/Sock;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ext/socket/RubySocket;
0 2 1 context Lorg/jruby/runtime/ThreadContext;
0 2 2 addr Ljava/net/InetSocketAddress;
0 2 3 reverse Z
1 2 4 runtime Lorg/jruby/Ruby;
MethodParameters:
Name Flags
context
addr
reverse
public org.jruby.runtime.builtin.IRubyObject close(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 0
invokevirtual org.jruby.ext.socket.RubySocket.getOpenFile:()Lorg/jruby/util/io/OpenFile;
ifnull 4
1: aload 0
invokevirtual org.jruby.ext.socket.RubySocket.isClosed:()Z
ifeq 2
aload 1
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.ext.socket.RubySocket.openFile:Lorg/jruby/util/io/OpenFile;
invokevirtual org.jruby.util.io.OpenFile.checkClosed:()V
3: aload 0
aload 1
invokevirtual org.jruby.ext.socket.RubySocket.rbIoClose:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
4: StackMap locals:
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/ext/socket/RubySocket;
0 5 1 context Lorg/jruby/runtime/ThreadContext;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod()
MethodParameters:
Name Flags
context final
public org.jruby.RubyBoolean closed_p(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyBoolean;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.ext.socket.RubySocket.getOpenFile:()Lorg/jruby/util/io/OpenFile;
ifnonnull 1
aload 1
getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
areturn
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial org.jruby.ext.socket.RubyBasicSocket.closed_p:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyBoolean;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ext/socket/RubySocket;
0 2 1 context Lorg/jruby/runtime/ThreadContext;
MethodParameters:
Name Flags
context
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.RubySocket.getChannel:()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/RubySocket;
1 2 1 channel Ljava/nio/channels/Channel;
public static java.lang.RuntimeException sockerr(org.jruby.Ruby, java.lang.String);
descriptor: (Lorg/jruby/Ruby;Ljava/lang/String;)Ljava/lang/RuntimeException;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.jruby.ext.socket.SocketUtils.sockerr:(Lorg/jruby/Ruby;Ljava/lang/String;)Ljava/lang/RuntimeException;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 runtime Lorg/jruby/Ruby;
0 1 1 msg Ljava/lang/String;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
runtime
msg
static int[] $SWITCH_TABLE$jnr$constants$platform$Sock();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.jruby.ext.socket.RubySocket.$SWITCH_TABLE$jnr$constants$platform$Sock:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic jnr.constants.platform.Sock.values:()[Ljnr/constants/platform/Sock;
arraylength
newarray 10
astore 0
2: aload 0
getstatic jnr.constants.platform.Sock.SOCK_DGRAM:Ljnr/constants/platform/Sock;
invokevirtual jnr.constants.platform.Sock.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.Sock.SOCK_MAXADDRLEN:Ljnr/constants/platform/Sock;
invokevirtual jnr.constants.platform.Sock.ordinal:()I
bipush 6
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic jnr.constants.platform.Sock.SOCK_RAW:Ljnr/constants/platform/Sock;
invokevirtual jnr.constants.platform.Sock.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.Sock.SOCK_RDM:Ljnr/constants/platform/Sock;
invokevirtual jnr.constants.platform.Sock.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.Sock.SOCK_SEQPACKET:Ljnr/constants/platform/Sock;
invokevirtual jnr.constants.platform.Sock.ordinal:()I
iconst_5
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic jnr.constants.platform.Sock.SOCK_STREAM:Ljnr/constants/platform/Sock;
invokevirtual jnr.constants.platform.Sock.ordinal:()I
iconst_1
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic jnr.constants.platform.Sock.__UNKNOWN_CONSTANT__:Ljnr/constants/platform/Sock;
invokevirtual jnr.constants.platform.Sock.ordinal:()I
bipush 7
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
dup
putstatic org.jruby.ext.socket.RubySocket.$SWITCH_TABLE$jnr$constants$platform$Sock:[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
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
static int[] $SWITCH_TABLE$jnr$constants$platform$ProtocolFamily();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.jruby.ext.socket.RubySocket.$SWITCH_TABLE$jnr$constants$platform$ProtocolFamily:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic jnr.constants.platform.ProtocolFamily.values:()[Ljnr/constants/platform/ProtocolFamily;
arraylength
newarray 10
astore 0
2: aload 0
getstatic jnr.constants.platform.ProtocolFamily.PF_APPLETALK:Ljnr/constants/platform/ProtocolFamily;
invokevirtual jnr.constants.platform.ProtocolFamily.ordinal:()I
bipush 19
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.ProtocolFamily.PF_ATM:Ljnr/constants/platform/ProtocolFamily;
invokevirtual jnr.constants.platform.ProtocolFamily.ordinal:()I
bipush 37
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic jnr.constants.platform.ProtocolFamily.PF_CCITT:Ljnr/constants/platform/ProtocolFamily;
invokevirtual jnr.constants.platform.ProtocolFamily.ordinal:()I
bipush 13
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic jnr.constants.platform.ProtocolFamily.PF_CHAOS:Ljnr/constants/platform/ProtocolFamily;
invokevirtual jnr.constants.platform.ProtocolFamily.ordinal:()I
bipush 7
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic jnr.constants.platform.ProtocolFamily.PF_CNT:Ljnr/constants/platform/ProtocolFamily;
invokevirtual jnr.constants.platform.ProtocolFamily.ordinal:()I
bipush 24
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic jnr.constants.platform.ProtocolFamily.PF_COIP:Ljnr/constants/platform/ProtocolFamily;
invokevirtual jnr.constants.platform.ProtocolFamily.ordinal:()I
bipush 23
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic jnr.constants.platform.ProtocolFamily.PF_DATAKIT:Ljnr/constants/platform/ProtocolFamily;
invokevirtual jnr.constants.platform.ProtocolFamily.ordinal:()I
bipush 12
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic jnr.constants.platform.ProtocolFamily.PF_DECnet:Ljnr/constants/platform/ProtocolFamily;
invokevirtual jnr.constants.platform.ProtocolFamily.ordinal:()I
bipush 15
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic jnr.constants.platform.ProtocolFamily.PF_DLI:Ljnr/constants/platform/ProtocolFamily;
invokevirtual jnr.constants.platform.ProtocolFamily.ordinal:()I
bipush 16
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
getstatic jnr.constants.platform.ProtocolFamily.PF_ECMA:Ljnr/constants/platform/ProtocolFamily;
invokevirtual jnr.constants.platform.ProtocolFamily.ordinal:()I
bipush 11
iastore
30: goto 32
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
31: pop
StackMap locals:
StackMap stack:
32: aload 0
getstatic jnr.constants.platform.ProtocolFamily.PF_HYLINK:Ljnr/constants/platform/ProtocolFamily;
invokevirtual jnr.constants.platform.ProtocolFamily.ordinal:()I
bipush 18
iastore
33: goto 35
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
34: pop
StackMap locals:
StackMap stack:
35: aload 0
getstatic jnr.constants.platform.ProtocolFamily.PF_IMPLINK:Ljnr/constants/platform/ProtocolFamily;
invokevirtual jnr.constants.platform.ProtocolFamily.ordinal:()I
iconst_5
iastore
36: goto 38
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
37: pop
StackMap locals:
StackMap stack:
38: aload 0
getstatic jnr.constants.platform.ProtocolFamily.PF_INET:Ljnr/constants/platform/ProtocolFamily;
invokevirtual jnr.constants.platform.ProtocolFamily.ordinal:()I
iconst_4
iastore
39: goto 41
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
40: pop
StackMap locals:
StackMap stack:
41: aload 0
getstatic jnr.constants.platform.ProtocolFamily.PF_INET6:Ljnr/constants/platform/ProtocolFamily;
invokevirtual jnr.constants.platform.ProtocolFamily.ordinal:()I
bipush 32
iastore
42: goto 44
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
43: pop
StackMap locals:
StackMap stack:
44: aload 0
getstatic jnr.constants.platform.ProtocolFamily.PF_IPX:Ljnr/constants/platform/ProtocolFamily;
invokevirtual jnr.constants.platform.ProtocolFamily.ordinal:()I
bipush 26
iastore
45: goto 47
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
46: pop
StackMap locals:
StackMap stack:
47: aload 0
getstatic jnr.constants.platform.ProtocolFamily.PF_ISDN:Ljnr/constants/platform/ProtocolFamily;
invokevirtual jnr.constants.platform.ProtocolFamily.ordinal:()I
bipush 30
iastore
48: goto 50
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
49: pop
StackMap locals:
StackMap stack:
50: aload 0
getstatic jnr.constants.platform.ProtocolFamily.PF_ISO:Ljnr/constants/platform/ProtocolFamily;
invokevirtual jnr.constants.platform.ProtocolFamily.ordinal:()I
bipush 9
iastore
51: goto 53
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
52: pop
StackMap locals:
StackMap stack:
53: aload 0
getstatic jnr.constants.platform.ProtocolFamily.PF_KEY:Ljnr/constants/platform/ProtocolFamily;
invokevirtual jnr.constants.platform.ProtocolFamily.ordinal:()I
bipush 31
iastore
54: goto 56
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
55: pop
StackMap locals:
StackMap stack:
56: aload 0
getstatic jnr.constants.platform.ProtocolFamily.PF_LAT:Ljnr/constants/platform/ProtocolFamily;
invokevirtual jnr.constants.platform.ProtocolFamily.ordinal:()I
bipush 17
iastore
57: goto 59
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
58: pop
StackMap locals:
StackMap stack:
59: aload 0
getstatic jnr.constants.platform.ProtocolFamily.PF_LINK:Ljnr/constants/platform/ProtocolFamily;
invokevirtual jnr.constants.platform.ProtocolFamily.ordinal:()I
bipush 21
iastore
60: goto 62
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
61: pop
StackMap locals:
StackMap stack:
62: aload 0
getstatic jnr.constants.platform.ProtocolFamily.PF_LOCAL:Ljnr/constants/platform/ProtocolFamily;
invokevirtual jnr.constants.platform.ProtocolFamily.ordinal:()I
iconst_2
iastore
63: goto 65
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
64: pop
StackMap locals:
StackMap stack:
65: aload 0
getstatic jnr.constants.platform.ProtocolFamily.PF_MAX:Ljnr/constants/platform/ProtocolFamily;
invokevirtual jnr.constants.platform.ProtocolFamily.ordinal:()I
bipush 39
iastore
66: goto 68
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
67: pop
StackMap locals:
StackMap stack:
68: aload 0
getstatic jnr.constants.platform.ProtocolFamily.PF_NATM:Ljnr/constants/platform/ProtocolFamily;
invokevirtual jnr.constants.platform.ProtocolFamily.ordinal:()I
bipush 33
iastore
69: goto 71
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
70: pop
StackMap locals:
StackMap stack:
71: aload 0
getstatic jnr.constants.platform.ProtocolFamily.PF_NDRV:Ljnr/constants/platform/ProtocolFamily;
invokevirtual jnr.constants.platform.ProtocolFamily.ordinal:()I
bipush 29
iastore
72: goto 74
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
73: pop
StackMap locals:
StackMap stack:
74: aload 0
getstatic jnr.constants.platform.ProtocolFamily.PF_NETBIOS:Ljnr/constants/platform/ProtocolFamily;
invokevirtual jnr.constants.platform.ProtocolFamily.ordinal:()I
bipush 35
iastore
75: goto 77
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
76: pop
StackMap locals:
StackMap stack:
77: aload 0
getstatic jnr.constants.platform.ProtocolFamily.PF_NETGRAPH:Ljnr/constants/platform/ProtocolFamily;
invokevirtual jnr.constants.platform.ProtocolFamily.ordinal:()I
bipush 38
iastore
78: goto 80
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
79: pop
StackMap locals:
StackMap stack:
80: aload 0
getstatic jnr.constants.platform.ProtocolFamily.PF_NS:Ljnr/constants/platform/ProtocolFamily;
invokevirtual jnr.constants.platform.ProtocolFamily.ordinal:()I
bipush 8
iastore
81: goto 83
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
82: pop
StackMap locals:
StackMap stack:
83: aload 0
getstatic jnr.constants.platform.ProtocolFamily.PF_OSI:Ljnr/constants/platform/ProtocolFamily;
invokevirtual jnr.constants.platform.ProtocolFamily.ordinal:()I
bipush 10
iastore
84: goto 86
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
85: pop
StackMap locals:
StackMap stack:
86: aload 0
getstatic jnr.constants.platform.ProtocolFamily.PF_PIP:Ljnr/constants/platform/ProtocolFamily;
invokevirtual jnr.constants.platform.ProtocolFamily.ordinal:()I
bipush 28
iastore
87: goto 89
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
88: pop
StackMap locals:
StackMap stack:
89: aload 0
getstatic jnr.constants.platform.ProtocolFamily.PF_PPP:Ljnr/constants/platform/ProtocolFamily;
invokevirtual jnr.constants.platform.ProtocolFamily.ordinal:()I
bipush 36
iastore
90: goto 92
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
91: pop
StackMap locals:
StackMap stack:
92: aload 0
getstatic jnr.constants.platform.ProtocolFamily.PF_PUP:Ljnr/constants/platform/ProtocolFamily;
invokevirtual jnr.constants.platform.ProtocolFamily.ordinal:()I
bipush 6
iastore
93: goto 95
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
94: pop
StackMap locals:
StackMap stack:
95: aload 0
getstatic jnr.constants.platform.ProtocolFamily.PF_ROUTE:Ljnr/constants/platform/ProtocolFamily;
invokevirtual jnr.constants.platform.ProtocolFamily.ordinal:()I
bipush 20
iastore
96: goto 98
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
97: pop
StackMap locals:
StackMap stack:
98: aload 0
getstatic jnr.constants.platform.ProtocolFamily.PF_RTIP:Ljnr/constants/platform/ProtocolFamily;
invokevirtual jnr.constants.platform.ProtocolFamily.ordinal:()I
bipush 27
iastore
99: goto 101
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
100: pop
StackMap locals:
StackMap stack:
101: aload 0
getstatic jnr.constants.platform.ProtocolFamily.PF_SIP:Ljnr/constants/platform/ProtocolFamily;
invokevirtual jnr.constants.platform.ProtocolFamily.ordinal:()I
bipush 25
iastore
102: goto 104
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
103: pop
StackMap locals:
StackMap stack:
104: aload 0
getstatic jnr.constants.platform.ProtocolFamily.PF_SNA:Ljnr/constants/platform/ProtocolFamily;
invokevirtual jnr.constants.platform.ProtocolFamily.ordinal:()I
bipush 14
iastore
105: goto 107
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
106: pop
StackMap locals:
StackMap stack:
107: aload 0
getstatic jnr.constants.platform.ProtocolFamily.PF_SYSTEM:Ljnr/constants/platform/ProtocolFamily;
invokevirtual jnr.constants.platform.ProtocolFamily.ordinal:()I
bipush 34
iastore
108: goto 110
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
109: pop
StackMap locals:
StackMap stack:
110: aload 0
getstatic jnr.constants.platform.ProtocolFamily.PF_UNIX:Ljnr/constants/platform/ProtocolFamily;
invokevirtual jnr.constants.platform.ProtocolFamily.ordinal:()I
iconst_3
iastore
111: goto 113
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
112: pop
StackMap locals:
StackMap stack:
113: aload 0
getstatic jnr.constants.platform.ProtocolFamily.PF_UNSPEC:Ljnr/constants/platform/ProtocolFamily;
invokevirtual jnr.constants.platform.ProtocolFamily.ordinal:()I
iconst_1
iastore
114: goto 116
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
115: pop
StackMap locals:
StackMap stack:
116: aload 0
getstatic jnr.constants.platform.ProtocolFamily.PF_XTP:Ljnr/constants/platform/ProtocolFamily;
invokevirtual jnr.constants.platform.ProtocolFamily.ordinal:()I
bipush 22
iastore
117: goto 119
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
118: pop
StackMap locals:
StackMap stack:
119: aload 0
getstatic jnr.constants.platform.ProtocolFamily.__UNKNOWN_CONSTANT__:Ljnr/constants/platform/ProtocolFamily;
invokevirtual jnr.constants.platform.ProtocolFamily.ordinal:()I
bipush 40
iastore
120: goto 122
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
121: pop
StackMap locals:
StackMap stack:
122: aload 0
dup
putstatic org.jruby.ext.socket.RubySocket.$SWITCH_TABLE$jnr$constants$platform$ProtocolFamily:[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
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
23 24 25 Class java.lang.NoSuchFieldError
26 27 28 Class java.lang.NoSuchFieldError
29 30 31 Class java.lang.NoSuchFieldError
32 33 34 Class java.lang.NoSuchFieldError
35 36 37 Class java.lang.NoSuchFieldError
38 39 40 Class java.lang.NoSuchFieldError
41 42 43 Class java.lang.NoSuchFieldError
44 45 46 Class java.lang.NoSuchFieldError
47 48 49 Class java.lang.NoSuchFieldError
50 51 52 Class java.lang.NoSuchFieldError
53 54 55 Class java.lang.NoSuchFieldError
56 57 58 Class java.lang.NoSuchFieldError
59 60 61 Class java.lang.NoSuchFieldError
62 63 64 Class java.lang.NoSuchFieldError
65 66 67 Class java.lang.NoSuchFieldError
68 69 70 Class java.lang.NoSuchFieldError
71 72 73 Class java.lang.NoSuchFieldError
74 75 76 Class java.lang.NoSuchFieldError
77 78 79 Class java.lang.NoSuchFieldError
80 81 82 Class java.lang.NoSuchFieldError
83 84 85 Class java.lang.NoSuchFieldError
86 87 88 Class java.lang.NoSuchFieldError
89 90 91 Class java.lang.NoSuchFieldError
92 93 94 Class java.lang.NoSuchFieldError
95 96 97 Class java.lang.NoSuchFieldError
98 99 100 Class java.lang.NoSuchFieldError
101 102 103 Class java.lang.NoSuchFieldError
104 105 106 Class java.lang.NoSuchFieldError
107 108 109 Class java.lang.NoSuchFieldError
110 111 112 Class java.lang.NoSuchFieldError
113 114 115 Class java.lang.NoSuchFieldError
116 117 118 Class java.lang.NoSuchFieldError
119 120 121 Class java.lang.NoSuchFieldError
}
SourceFile: "RubySocket.java"
NestMembers:
org.jruby.ext.socket.RubySocket$1
InnerClasses:
org.jruby.ext.socket.RubySocket$1
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyClass(name = {"Socket"}, parent = "BasicSocket", include = {"Socket::Constants"})