public final class sun.management.jdp.JdpBroadcaster
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: sun.management.jdp.JdpBroadcaster
  super_class: java.lang.Object
{
  private final java.net.InetAddress addr;
    descriptor: Ljava/net/InetAddress;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int port;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.nio.channels.DatagramChannel channel;
    descriptor: Ljava/nio/channels/DatagramChannel;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(java.net.InetAddress, java.net.InetAddress, int, int);
    descriptor: (Ljava/net/InetAddress;Ljava/net/InetAddress;II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // sun.management.jdp.JdpBroadcaster this
        start local 1 // java.net.InetAddress address
        start local 2 // java.net.InetAddress srcAddress
        start local 3 // int port
        start local 4 // int ttl
         0: .line 66
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 68
            aload 0 /* this */
            aload 1 /* address */
            putfield sun.management.jdp.JdpBroadcaster.addr:Ljava/net/InetAddress;
         2: .line 69
            aload 0 /* this */
            iload 3 /* port */
            putfield sun.management.jdp.JdpBroadcaster.port:I
         3: .line 71
            aload 1 /* address */
            instanceof java.net.Inet6Address
            ifeq 5
         4: .line 72
            getstatic java.net.StandardProtocolFamily.INET6:Ljava/net/StandardProtocolFamily;
            goto 6
      StackMap locals: sun.management.jdp.JdpBroadcaster java.net.InetAddress java.net.InetAddress int int
      StackMap stack:
         5: getstatic java.net.StandardProtocolFamily.INET:Ljava/net/StandardProtocolFamily;
         6: .line 71
      StackMap locals:
      StackMap stack: java.net.StandardProtocolFamily
            astore 5 /* family */
        start local 5 // java.net.ProtocolFamily family
         7: .line 74
            aload 0 /* this */
            aload 5 /* family */
            invokestatic java.nio.channels.DatagramChannel.open:(Ljava/net/ProtocolFamily;)Ljava/nio/channels/DatagramChannel;
            putfield sun.management.jdp.JdpBroadcaster.channel:Ljava/nio/channels/DatagramChannel;
         8: .line 75
            aload 0 /* this */
            getfield sun.management.jdp.JdpBroadcaster.channel:Ljava/nio/channels/DatagramChannel;
            getstatic java.net.StandardSocketOptions.SO_REUSEADDR:Ljava/net/SocketOption;
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual java.nio.channels.DatagramChannel.setOption:(Ljava/net/SocketOption;Ljava/lang/Object;)Ljava/nio/channels/DatagramChannel;
            pop
         9: .line 76
            aload 0 /* this */
            getfield sun.management.jdp.JdpBroadcaster.channel:Ljava/nio/channels/DatagramChannel;
            getstatic java.net.StandardSocketOptions.IP_MULTICAST_TTL:Ljava/net/SocketOption;
            iload 4 /* ttl */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.nio.channels.DatagramChannel.setOption:(Ljava/net/SocketOption;Ljava/lang/Object;)Ljava/nio/channels/DatagramChannel;
            pop
        10: .line 80
            aload 2 /* srcAddress */
            ifnull 23
        11: .line 82
            aload 2 /* srcAddress */
            invokestatic java.net.NetworkInterface.getByInetAddress:(Ljava/net/InetAddress;)Ljava/net/NetworkInterface;
            astore 6 /* interf */
        start local 6 // java.net.NetworkInterface interf
        12: .line 84
            aload 6 /* interf */
            ifnonnull 14
        13: .line 85
            new sun.management.jdp.JdpException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unable to get network interface for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* srcAddress */
            invokevirtual java.net.InetAddress.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial sun.management.jdp.JdpException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 88
      StackMap locals: java.net.ProtocolFamily java.net.NetworkInterface
      StackMap stack:
            aload 6 /* interf */
            invokevirtual java.net.NetworkInterface.isUp:()Z
            ifne 16
        15: .line 89
            new sun.management.jdp.JdpException
            dup
            new java.lang.StringBuilder
            dup
            aload 6 /* interf */
            invokevirtual java.net.NetworkInterface.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " is not up."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial sun.management.jdp.JdpException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 92
      StackMap locals:
      StackMap stack:
            aload 6 /* interf */
            invokevirtual java.net.NetworkInterface.supportsMulticast:()Z
            ifne 18
        17: .line 93
            new sun.management.jdp.JdpException
            dup
            new java.lang.StringBuilder
            dup
            aload 6 /* interf */
            invokevirtual java.net.NetworkInterface.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " does not support multicast."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial sun.management.jdp.JdpException.<init>:(Ljava/lang/String;)V
            athrow
        18: .line 97
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.management.jdp.JdpBroadcaster.channel:Ljava/nio/channels/DatagramChannel;
            new java.net.InetSocketAddress
            dup
            aload 2 /* srcAddress */
            iconst_0
            invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
            invokevirtual java.nio.channels.DatagramChannel.bind:(Ljava/net/SocketAddress;)Ljava/nio/channels/DatagramChannel;
            pop
        19: .line 98
            goto 22
      StackMap locals:
      StackMap stack: java.nio.channels.UnsupportedAddressTypeException
        20: pop
        21: .line 99
            new sun.management.jdp.JdpException
            dup
            ldc "Unable to bind to source address"
            invokespecial sun.management.jdp.JdpException.<init>:(Ljava/lang/String;)V
            athrow
        22: .line 101
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.management.jdp.JdpBroadcaster.channel:Ljava/nio/channels/DatagramChannel;
            getstatic java.net.StandardSocketOptions.IP_MULTICAST_IF:Ljava/net/SocketOption;
            aload 6 /* interf */
            invokevirtual java.nio.channels.DatagramChannel.setOption:(Ljava/net/SocketOption;Ljava/lang/Object;)Ljava/nio/channels/DatagramChannel;
            pop
        end local 6 // java.net.NetworkInterface interf
        23: .line 103
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.net.ProtocolFamily family
        end local 4 // int ttl
        end local 3 // int port
        end local 2 // java.net.InetAddress srcAddress
        end local 1 // java.net.InetAddress address
        end local 0 // sun.management.jdp.JdpBroadcaster this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   24     0        this  Lsun/management/jdp/JdpBroadcaster;
            0   24     1     address  Ljava/net/InetAddress;
            0   24     2  srcAddress  Ljava/net/InetAddress;
            0   24     3        port  I
            0   24     4         ttl  I
            7   24     5      family  Ljava/net/ProtocolFamily;
           12   23     6      interf  Ljava/net/NetworkInterface;
      Exception table:
        from    to  target  type
          18    19      20  Class java.nio.channels.UnsupportedAddressTypeException
    Exceptions:
      throws java.io.IOException, sun.management.jdp.JdpException
    MethodParameters:
            Name  Flags
      address     
      srcAddress  
      port        
      ttl         

  public void <init>(java.net.InetAddress, int, int);
    descriptor: (Ljava/net/InetAddress;II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // sun.management.jdp.JdpBroadcaster this
        start local 1 // java.net.InetAddress address
        start local 2 // int port
        start local 3 // int ttl
         0: .line 115
            aload 0 /* this */
            aload 1 /* address */
            aconst_null
            iload 2 /* port */
            iload 3 /* ttl */
            invokespecial sun.management.jdp.JdpBroadcaster.<init>:(Ljava/net/InetAddress;Ljava/net/InetAddress;II)V
         1: .line 116
            return
        end local 3 // int ttl
        end local 2 // int port
        end local 1 // java.net.InetAddress address
        end local 0 // sun.management.jdp.JdpBroadcaster this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lsun/management/jdp/JdpBroadcaster;
            0    2     1  address  Ljava/net/InetAddress;
            0    2     2     port  I
            0    2     3      ttl  I
    Exceptions:
      throws java.io.IOException, sun.management.jdp.JdpException
    MethodParameters:
         Name  Flags
      address  
      port     
      ttl      

  public void sendPacket(sun.management.jdp.JdpPacket);
    descriptor: (Lsun/management/jdp/JdpPacket;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // sun.management.jdp.JdpBroadcaster this
        start local 1 // sun.management.jdp.JdpPacket packet
         0: .line 126
            aload 1 /* packet */
            invokeinterface sun.management.jdp.JdpPacket.getPacketData:()[B
            astore 2 /* data */
        start local 2 // byte[] data
         1: .line 128
            aload 2 /* data */
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            astore 3 /* b */
        start local 3 // java.nio.ByteBuffer b
         2: .line 129
            aload 0 /* this */
            getfield sun.management.jdp.JdpBroadcaster.channel:Ljava/nio/channels/DatagramChannel;
            aload 3 /* b */
            new java.net.InetSocketAddress
            dup
            aload 0 /* this */
            getfield sun.management.jdp.JdpBroadcaster.addr:Ljava/net/InetAddress;
            aload 0 /* this */
            getfield sun.management.jdp.JdpBroadcaster.port:I
            invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
            invokevirtual java.nio.channels.DatagramChannel.send:(Ljava/nio/ByteBuffer;Ljava/net/SocketAddress;)I
            pop
         3: .line 130
            return
        end local 3 // java.nio.ByteBuffer b
        end local 2 // byte[] data
        end local 1 // sun.management.jdp.JdpPacket packet
        end local 0 // sun.management.jdp.JdpBroadcaster this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lsun/management/jdp/JdpBroadcaster;
            0    4     1  packet  Lsun/management/jdp/JdpPacket;
            1    4     2    data  [B
            2    4     3       b  Ljava/nio/ByteBuffer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      packet  

  public void shutdown();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.management.jdp.JdpBroadcaster this
         0: .line 138
            aload 0 /* this */
            getfield sun.management.jdp.JdpBroadcaster.channel:Ljava/nio/channels/DatagramChannel;
            invokevirtual java.nio.channels.DatagramChannel.close:()V
         1: .line 139
            return
        end local 0 // sun.management.jdp.JdpBroadcaster this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/management/jdp/JdpBroadcaster;
    Exceptions:
      throws java.io.IOException
}
SourceFile: "JdpBroadcaster.java"