public class org.apache.cassandra.locator.Ec2MultiRegionSnitch extends org.apache.cassandra.locator.Ec2Snitch
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.locator.Ec2MultiRegionSnitch
  super_class: org.apache.cassandra.locator.Ec2Snitch
{
  private static final java.lang.String PUBLIC_IP_QUERY_URL;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "http://169.254.169.254/latest/meta-data/public-ipv4"

  private static final java.lang.String PRIVATE_IP_QUERY_URL;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "http://169.254.169.254/latest/meta-data/local-ipv4"

  private final java.lang.String localPrivateAddress;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.apache.cassandra.locator.Ec2MultiRegionSnitch this
         0: .line 48
            aload 0 /* this */
            invokespecial org.apache.cassandra.locator.Ec2Snitch.<init>:()V
         1: .line 49
            aload 0 /* this */
            ldc "http://169.254.169.254/latest/meta-data/public-ipv4"
            invokevirtual org.apache.cassandra.locator.Ec2MultiRegionSnitch.awsApiCall:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.net.InetAddress.getByName:(Ljava/lang/String;)Ljava/net/InetAddress;
            astore 1 /* localPublicAddress */
        start local 1 // java.net.InetAddress localPublicAddress
         2: .line 50
            getstatic org.apache.cassandra.locator.Ec2MultiRegionSnitch.logger:Lorg/slf4j/Logger;
            ldc "EC2Snitch using publicIP as identifier: {}"
            aload 1 /* localPublicAddress */
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 51
            aload 0 /* this */
            aload 0 /* this */
            ldc "http://169.254.169.254/latest/meta-data/local-ipv4"
            invokevirtual org.apache.cassandra.locator.Ec2MultiRegionSnitch.awsApiCall:(Ljava/lang/String;)Ljava/lang/String;
            putfield org.apache.cassandra.locator.Ec2MultiRegionSnitch.localPrivateAddress:Ljava/lang/String;
         4: .line 53
            aload 1 /* localPublicAddress */
            invokestatic org.apache.cassandra.config.DatabaseDescriptor.setBroadcastAddress:(Ljava/net/InetAddress;)V
         5: .line 54
            invokestatic org.apache.cassandra.config.DatabaseDescriptor.getBroadcastRpcAddress:()Ljava/net/InetAddress;
            ifnonnull 8
         6: .line 56
            getstatic org.apache.cassandra.locator.Ec2MultiRegionSnitch.logger:Lorg/slf4j/Logger;
            ldc "broadcast_rpc_address unset, broadcasting public IP as rpc_address: {}"
            aload 1 /* localPublicAddress */
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;)V
         7: .line 57
            aload 1 /* localPublicAddress */
            invokestatic org.apache.cassandra.config.DatabaseDescriptor.setBroadcastRpcAddress:(Ljava/net/InetAddress;)V
         8: .line 59
      StackMap locals: org.apache.cassandra.locator.Ec2MultiRegionSnitch java.net.InetAddress
      StackMap stack:
            return
        end local 1 // java.net.InetAddress localPublicAddress
        end local 0 // org.apache.cassandra.locator.Ec2MultiRegionSnitch this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    9     0                this  Lorg/apache/cassandra/locator/Ec2MultiRegionSnitch;
            2    9     1  localPublicAddress  Ljava/net/InetAddress;
    Exceptions:
      throws java.io.IOException, org.apache.cassandra.exceptions.ConfigurationException

  public void gossiperStarting();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // org.apache.cassandra.locator.Ec2MultiRegionSnitch this
         0: .line 64
            aload 0 /* this */
            invokespecial org.apache.cassandra.locator.Ec2Snitch.gossiperStarting:()V
         1: .line 65
            getstatic org.apache.cassandra.gms.Gossiper.instance:Lorg/apache/cassandra/gms/Gossiper;
            getstatic org.apache.cassandra.gms.ApplicationState.INTERNAL_IP:Lorg/apache/cassandra/gms/ApplicationState;
            getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
            getfield org.apache.cassandra.service.StorageService.valueFactory:Lorg/apache/cassandra/gms/VersionedValue$VersionedValueFactory;
            aload 0 /* this */
            getfield org.apache.cassandra.locator.Ec2MultiRegionSnitch.localPrivateAddress:Ljava/lang/String;
            invokevirtual org.apache.cassandra.gms.VersionedValue$VersionedValueFactory.internalIP:(Ljava/lang/String;)Lorg/apache/cassandra/gms/VersionedValue;
            invokevirtual org.apache.cassandra.gms.Gossiper.addLocalApplicationState:(Lorg/apache/cassandra/gms/ApplicationState;Lorg/apache/cassandra/gms/VersionedValue;)V
         2: .line 66
            getstatic org.apache.cassandra.gms.Gossiper.instance:Lorg/apache/cassandra/gms/Gossiper;
            new org.apache.cassandra.locator.ReconnectableSnitchHelper
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.cassandra.locator.Ec2MultiRegionSnitch.ec2region:Ljava/lang/String;
            iconst_1
            invokespecial org.apache.cassandra.locator.ReconnectableSnitchHelper.<init>:(Lorg/apache/cassandra/locator/IEndpointSnitch;Ljava/lang/String;Z)V
            invokevirtual org.apache.cassandra.gms.Gossiper.register:(Lorg/apache/cassandra/gms/IEndpointStateChangeSubscriber;)V
         3: .line 67
            return
        end local 0 // org.apache.cassandra.locator.Ec2MultiRegionSnitch this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/cassandra/locator/Ec2MultiRegionSnitch;
}
SourceFile: "Ec2MultiRegionSnitch.java"
InnerClasses:
  public VersionedValueFactory = org.apache.cassandra.gms.VersionedValue$VersionedValueFactory of org.apache.cassandra.gms.VersionedValue