public class org.jruby.ext.socket.MulticastStateManager
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jruby.ext.socket.MulticastStateManager
super_class: java.lang.Object
{
private java.net.MulticastSocket multicastSocket;
descriptor: Ljava/net/MulticastSocket;
flags: (0x0002) ACC_PRIVATE
private java.util.ArrayList membershipGroups;
descriptor: Ljava/util/ArrayList;
flags: (0x0002) ACC_PRIVATE
public static final int IP_ADD_MEMBERSHIP;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 12
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield org.jruby.ext.socket.MulticastStateManager.membershipGroups:Ljava/util/ArrayList;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ext/socket/MulticastStateManager;
public void addMembership(byte[]);
descriptor: ([B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: ldc ""
astore 2
start local 2 1: aload 1
arraylength
iconst_4
if_icmplt 9
2: 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
aload 1
iconst_0
baload
sipush 255
iand
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
3: 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 "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
4: 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
aload 1
iconst_1
baload
sipush 255
iand
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
5: 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 "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
6: 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
aload 1
iconst_2
baload
sipush 255
iand
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
7: 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 "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
8: 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
aload 1
iconst_3
baload
sipush 255
iand
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
9: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield org.jruby.ext.socket.MulticastStateManager.membershipGroups:Ljava/util/ArrayList;
aload 2
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
10: aload 0
invokevirtual org.jruby.ext.socket.MulticastStateManager.updateMemberships:()V
11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/jruby/ext/socket/MulticastStateManager;
0 12 1 ipaddr_buf [B
1 12 2 ipString Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
ipaddr_buf
public void rebindToPort(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.ext.socket.MulticastStateManager.multicastSocket:Ljava/net/MulticastSocket;
ifnull 2
1: aload 0
getfield org.jruby.ext.socket.MulticastStateManager.multicastSocket:Ljava/net/MulticastSocket;
invokevirtual java.net.MulticastSocket.close:()V
2: StackMap locals:
StackMap stack:
aload 0
new java.net.MulticastSocket
dup
iload 1
invokespecial java.net.MulticastSocket.<init>:(I)V
putfield org.jruby.ext.socket.MulticastStateManager.multicastSocket:Ljava/net/MulticastSocket;
3: aload 0
invokevirtual org.jruby.ext.socket.MulticastStateManager.updateMemberships:()V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/ext/socket/MulticastStateManager;
0 5 1 port I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
port
public java.net.MulticastSocket getMulticastSocket();
descriptor: ()Ljava/net/MulticastSocket;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ext.socket.MulticastStateManager.multicastSocket:Ljava/net/MulticastSocket;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ext/socket/MulticastStateManager;
private void updateMemberships();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
getfield org.jruby.ext.socket.MulticastStateManager.multicastSocket:Ljava/net/MulticastSocket;
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
iconst_0
istore 1
start local 1 3: goto 8
4: StackMap locals: int
StackMap stack:
aload 0
getfield org.jruby.ext.socket.MulticastStateManager.membershipGroups:Ljava/util/ArrayList;
iload 1
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast java.lang.String
astore 2
start local 2 5: aload 2
invokestatic java.net.InetAddress.getByName:(Ljava/lang/String;)Ljava/net/InetAddress;
astore 3
start local 3 6: aload 0
getfield org.jruby.ext.socket.MulticastStateManager.multicastSocket:Ljava/net/MulticastSocket;
aload 3
invokevirtual java.net.MulticastSocket.joinGroup:(Ljava/net/InetAddress;)V
end local 3 end local 2 7: iinc 1 1
StackMap locals:
StackMap stack:
8: iload 1
aload 0
getfield org.jruby.ext.socket.MulticastStateManager.membershipGroups:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
if_icmplt 4
end local 1 9: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/jruby/ext/socket/MulticastStateManager;
3 9 1 i I
5 7 2 ipString Ljava/lang/String;
6 7 3 group Ljava/net/InetAddress;
Exceptions:
throws java.io.IOException
}
SourceFile: "MulticastStateManager.java"