public class io.vertx.proton.impl.ProtonSaslServerAuthenticatorImpl implements io.vertx.proton.sasl.ProtonSaslAuthenticator
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.proton.impl.ProtonSaslServerAuthenticatorImpl
  super_class: java.lang.Object
{
  private org.apache.qpid.proton.engine.Sasl sasl;
    descriptor: Lorg/apache/qpid/proton/engine/Sasl;
    flags: (0x0002) ACC_PRIVATE

  private boolean succeeded;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.proton.impl.ProtonSaslServerAuthenticatorImpl this
         0: .line 31
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // io.vertx.proton.impl.ProtonSaslServerAuthenticatorImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/proton/impl/ProtonSaslServerAuthenticatorImpl;

  public void init(io.vertx.core.net.NetSocket, io.vertx.proton.ProtonConnection, org.apache.qpid.proton.engine.Transport);
    descriptor: (Lio/vertx/core/net/NetSocket;Lio/vertx/proton/ProtonConnection;Lorg/apache/qpid/proton/engine/Transport;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // io.vertx.proton.impl.ProtonSaslServerAuthenticatorImpl this
        start local 1 // io.vertx.core.net.NetSocket socket
        start local 2 // io.vertx.proton.ProtonConnection protonConnection
        start local 3 // org.apache.qpid.proton.engine.Transport transport
         0: .line 38
            aload 0 /* this */
            aload 3 /* transport */
            invokeinterface org.apache.qpid.proton.engine.Transport.sasl:()Lorg/apache/qpid/proton/engine/Sasl;
            putfield io.vertx.proton.impl.ProtonSaslServerAuthenticatorImpl.sasl:Lorg/apache/qpid/proton/engine/Sasl;
         1: .line 39
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonSaslServerAuthenticatorImpl.sasl:Lorg/apache/qpid/proton/engine/Sasl;
            invokeinterface org.apache.qpid.proton.engine.Sasl.server:()V
         2: .line 40
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonSaslServerAuthenticatorImpl.sasl:Lorg/apache/qpid/proton/engine/Sasl;
            iconst_0
            invokeinterface org.apache.qpid.proton.engine.Sasl.allowSkip:(Z)V
         3: .line 41
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonSaslServerAuthenticatorImpl.sasl:Lorg/apache/qpid/proton/engine/Sasl;
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "ANONYMOUS"
            aastore
            invokeinterface org.apache.qpid.proton.engine.Sasl.setMechanisms:([Ljava/lang/String;)V
         4: .line 42
            aload 0 /* this */
            iconst_0
            putfield io.vertx.proton.impl.ProtonSaslServerAuthenticatorImpl.succeeded:Z
         5: .line 43
            return
        end local 3 // org.apache.qpid.proton.engine.Transport transport
        end local 2 // io.vertx.proton.ProtonConnection protonConnection
        end local 1 // io.vertx.core.net.NetSocket socket
        end local 0 // io.vertx.proton.impl.ProtonSaslServerAuthenticatorImpl this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    6     0              this  Lio/vertx/proton/impl/ProtonSaslServerAuthenticatorImpl;
            0    6     1            socket  Lio/vertx/core/net/NetSocket;
            0    6     2  protonConnection  Lio/vertx/proton/ProtonConnection;
            0    6     3         transport  Lorg/apache/qpid/proton/engine/Transport;
    MethodParameters:
                  Name  Flags
      socket            
      protonConnection  
      transport         

  public void process(io.vertx.core.Handler<java.lang.Boolean>);
    descriptor: (Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // io.vertx.proton.impl.ProtonSaslServerAuthenticatorImpl this
        start local 1 // io.vertx.core.Handler completionHandler
         0: .line 47
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonSaslServerAuthenticatorImpl.sasl:Lorg/apache/qpid/proton/engine/Sasl;
            ifnonnull 2
         1: .line 48
            new java.lang.IllegalStateException
            dup
            ldc "Init was not called with the associated transport"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 51
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* done */
        start local 2 // boolean done
         3: .line 52
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonSaslServerAuthenticatorImpl.sasl:Lorg/apache/qpid/proton/engine/Sasl;
            invokeinterface org.apache.qpid.proton.engine.Sasl.getRemoteMechanisms:()[Ljava/lang/String;
            astore 3 /* remoteMechanisms */
        start local 3 // java.lang.String[] remoteMechanisms
         4: .line 53
            aload 3 /* remoteMechanisms */
            arraylength
            ifle 12
         5: .line 54
            aload 3 /* remoteMechanisms */
            iconst_0
            aaload
            astore 4 /* chosen */
        start local 4 // java.lang.String chosen
         6: .line 55
            ldc "ANONYMOUS"
            aload 4 /* chosen */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         7: .line 56
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonSaslServerAuthenticatorImpl.sasl:Lorg/apache/qpid/proton/engine/Sasl;
            getstatic org.apache.qpid.proton.engine.Sasl$SaslOutcome.PN_SASL_OK:Lorg/apache/qpid/proton/engine/Sasl$SaslOutcome;
            invokeinterface org.apache.qpid.proton.engine.Sasl.done:(Lorg/apache/qpid/proton/engine/Sasl$SaslOutcome;)V
         8: .line 57
            aload 0 /* this */
            iconst_1
            putfield io.vertx.proton.impl.ProtonSaslServerAuthenticatorImpl.succeeded:Z
         9: .line 58
            goto 11
        10: .line 59
      StackMap locals: int java.lang.String[] java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonSaslServerAuthenticatorImpl.sasl:Lorg/apache/qpid/proton/engine/Sasl;
            getstatic org.apache.qpid.proton.engine.Sasl$SaslOutcome.PN_SASL_AUTH:Lorg/apache/qpid/proton/engine/Sasl$SaslOutcome;
            invokeinterface org.apache.qpid.proton.engine.Sasl.done:(Lorg/apache/qpid/proton/engine/Sasl$SaslOutcome;)V
        11: .line 61
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 2 /* done */
        end local 4 // java.lang.String chosen
        12: .line 64
      StackMap locals:
      StackMap stack:
            aload 1 /* completionHandler */
            iload 2 /* done */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
        13: .line 65
            return
        end local 3 // java.lang.String[] remoteMechanisms
        end local 2 // boolean done
        end local 1 // io.vertx.core.Handler completionHandler
        end local 0 // io.vertx.proton.impl.ProtonSaslServerAuthenticatorImpl this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   14     0               this  Lio/vertx/proton/impl/ProtonSaslServerAuthenticatorImpl;
            0   14     1  completionHandler  Lio/vertx/core/Handler<Ljava/lang/Boolean;>;
            3   14     2               done  Z
            4   14     3   remoteMechanisms  [Ljava/lang/String;
            6   12     4             chosen  Ljava/lang/String;
    Signature: (Lio/vertx/core/Handler<Ljava/lang/Boolean;>;)V
    MethodParameters:
                   Name  Flags
      completionHandler  

  public boolean succeeded();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.proton.impl.ProtonSaslServerAuthenticatorImpl this
         0: .line 69
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonSaslServerAuthenticatorImpl.succeeded:Z
            ireturn
        end local 0 // io.vertx.proton.impl.ProtonSaslServerAuthenticatorImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/proton/impl/ProtonSaslServerAuthenticatorImpl;
}
SourceFile: "ProtonSaslServerAuthenticatorImpl.java"
InnerClasses:
  public final SaslOutcome = org.apache.qpid.proton.engine.Sasl$SaslOutcome of org.apache.qpid.proton.engine.Sasl