abstract class io.vertx.proton.impl.ProtonLinkImpl<T extends io.vertx.proton.ProtonLink<T>> implements io.vertx.proton.ProtonLink<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: io.vertx.proton.impl.ProtonLinkImpl
  super_class: java.lang.Object
{
  protected final org.apache.qpid.proton.engine.Link link;
    descriptor: Lorg/apache/qpid/proton/engine/Link;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private io.vertx.core.Handler<io.vertx.core.AsyncResult<T>> openHandler;
    descriptor: Lio/vertx/core/Handler;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TT;>;>;

  private io.vertx.core.Handler<io.vertx.core.AsyncResult<T>> closeHandler;
    descriptor: Lio/vertx/core/Handler;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TT;>;>;

  private io.vertx.core.Handler<io.vertx.core.AsyncResult<T>> detachHandler;
    descriptor: Lio/vertx/core/Handler;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TT;>;>;

  private static volatile int[] $SWITCH_TABLE$io$vertx$proton$ProtonQoS;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  void <init>(org.apache.qpid.proton.engine.Link);
    descriptor: (Lorg/apache/qpid/proton/engine/Link;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
        start local 1 // org.apache.qpid.proton.engine.Link link
         0: .line 47
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 48
            aload 0 /* this */
            aload 1 /* link */
            putfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
         2: .line 49
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            aload 0 /* this */
            invokeinterface org.apache.qpid.proton.engine.Link.setContext:(Ljava/lang/Object;)V
         3: .line 51
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual io.vertx.proton.impl.ProtonLinkImpl.getRemoteQoS:()Lio/vertx/proton/ProtonQoS;
            invokevirtual io.vertx.proton.impl.ProtonLinkImpl.setQoS:(Lio/vertx/proton/ProtonQoS;)Lio/vertx/proton/ProtonLink;
            pop
         4: .line 52
            return
        end local 1 // org.apache.qpid.proton.engine.Link link
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;
            0    5     1  link  Lorg/apache/qpid/proton/engine/Link;
    MethodParameters:
      Name  Flags
      link  

  protected abstract T self();
    descriptor: ()Lio/vertx/proton/ProtonLink;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Signature: ()TT;

  public io.vertx.proton.impl.ProtonSessionImpl getSession();
    descriptor: ()Lio/vertx/proton/impl/ProtonSessionImpl;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
         0: .line 58
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            invokeinterface org.apache.qpid.proton.engine.Link.getSession:()Lorg/apache/qpid/proton/engine/Session;
            invokeinterface org.apache.qpid.proton.engine.Session.getContext:()Ljava/lang/Object;
            checkcast io.vertx.proton.impl.ProtonSessionImpl
            areturn
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;

  public org.apache.qpid.proton.engine.Record attachments();
    descriptor: ()Lorg/apache/qpid/proton/engine/Record;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
         0: .line 63
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            invokeinterface org.apache.qpid.proton.engine.Link.attachments:()Lorg/apache/qpid/proton/engine/Record;
            areturn
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;

  public org.apache.qpid.proton.amqp.transport.ErrorCondition getCondition();
    descriptor: ()Lorg/apache/qpid/proton/amqp/transport/ErrorCondition;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
         0: .line 68
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            invokeinterface org.apache.qpid.proton.engine.Link.getCondition:()Lorg/apache/qpid/proton/amqp/transport/ErrorCondition;
            areturn
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;

  public int getCredit();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
         0: .line 73
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            invokeinterface org.apache.qpid.proton.engine.Link.getCredit:()I
            ireturn
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;

  public boolean getDrain();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
         0: .line 78
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            invokeinterface org.apache.qpid.proton.engine.Link.getDrain:()Z
            ireturn
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;

  public org.apache.qpid.proton.engine.EndpointState getLocalState();
    descriptor: ()Lorg/apache/qpid/proton/engine/EndpointState;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
         0: .line 82
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            invokeinterface org.apache.qpid.proton.engine.Link.getLocalState:()Lorg/apache/qpid/proton/engine/EndpointState;
            areturn
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
         0: .line 87
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            invokeinterface org.apache.qpid.proton.engine.Link.getName:()Ljava/lang/String;
            areturn
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;

  public org.apache.qpid.proton.amqp.transport.ErrorCondition getRemoteCondition();
    descriptor: ()Lorg/apache/qpid/proton/amqp/transport/ErrorCondition;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
         0: .line 92
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            invokeinterface org.apache.qpid.proton.engine.Link.getRemoteCondition:()Lorg/apache/qpid/proton/amqp/transport/ErrorCondition;
            areturn
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;

  public int getRemoteCredit();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
         0: .line 96
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            invokeinterface org.apache.qpid.proton.engine.Link.getRemoteCredit:()I
            ireturn
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;

  public org.apache.qpid.proton.engine.EndpointState getRemoteState();
    descriptor: ()Lorg/apache/qpid/proton/engine/EndpointState;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
         0: .line 100
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            invokeinterface org.apache.qpid.proton.engine.Link.getRemoteState:()Lorg/apache/qpid/proton/engine/EndpointState;
            areturn
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;

  public org.apache.qpid.proton.amqp.transport.Target getRemoteTarget();
    descriptor: ()Lorg/apache/qpid/proton/amqp/transport/Target;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
         0: .line 105
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            invokeinterface org.apache.qpid.proton.engine.Link.getRemoteTarget:()Lorg/apache/qpid/proton/amqp/transport/Target;
            areturn
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;

  public org.apache.qpid.proton.amqp.transport.Target getTarget();
    descriptor: ()Lorg/apache/qpid/proton/amqp/transport/Target;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
         0: .line 110
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            invokeinterface org.apache.qpid.proton.engine.Link.getTarget:()Lorg/apache/qpid/proton/amqp/transport/Target;
            areturn
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;

  public T setTarget(org.apache.qpid.proton.amqp.transport.Target);
    descriptor: (Lorg/apache/qpid/proton/amqp/transport/Target;)Lio/vertx/proton/ProtonLink;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
        start local 1 // org.apache.qpid.proton.amqp.transport.Target target
         0: .line 115
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            aload 1 /* target */
            invokeinterface org.apache.qpid.proton.engine.Link.setTarget:(Lorg/apache/qpid/proton/amqp/transport/Target;)V
         1: .line 116
            aload 0 /* this */
            invokevirtual io.vertx.proton.impl.ProtonLinkImpl.self:()Lio/vertx/proton/ProtonLink;
            areturn
        end local 1 // org.apache.qpid.proton.amqp.transport.Target target
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;
            0    2     1  target  Lorg/apache/qpid/proton/amqp/transport/Target;
    Signature: (Lorg/apache/qpid/proton/amqp/transport/Target;)TT;
    MethodParameters:
        Name  Flags
      target  

  public org.apache.qpid.proton.amqp.transport.Source getRemoteSource();
    descriptor: ()Lorg/apache/qpid/proton/amqp/transport/Source;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
         0: .line 121
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            invokeinterface org.apache.qpid.proton.engine.Link.getRemoteSource:()Lorg/apache/qpid/proton/amqp/transport/Source;
            areturn
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;

  public org.apache.qpid.proton.amqp.transport.Source getSource();
    descriptor: ()Lorg/apache/qpid/proton/amqp/transport/Source;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
         0: .line 126
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            invokeinterface org.apache.qpid.proton.engine.Link.getSource:()Lorg/apache/qpid/proton/amqp/transport/Source;
            areturn
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;

  public T setSource(org.apache.qpid.proton.amqp.transport.Source);
    descriptor: (Lorg/apache/qpid/proton/amqp/transport/Source;)Lio/vertx/proton/ProtonLink;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
        start local 1 // org.apache.qpid.proton.amqp.transport.Source source
         0: .line 131
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            aload 1 /* source */
            invokeinterface org.apache.qpid.proton.engine.Link.setSource:(Lorg/apache/qpid/proton/amqp/transport/Source;)V
         1: .line 132
            aload 0 /* this */
            invokevirtual io.vertx.proton.impl.ProtonLinkImpl.self:()Lio/vertx/proton/ProtonLink;
            areturn
        end local 1 // org.apache.qpid.proton.amqp.transport.Source source
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;
            0    2     1  source  Lorg/apache/qpid/proton/amqp/transport/Source;
    Signature: (Lorg/apache/qpid/proton/amqp/transport/Source;)TT;
    MethodParameters:
        Name  Flags
      source  

  public int getUnsettled();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
         0: .line 136
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            invokeinterface org.apache.qpid.proton.engine.Link.getUnsettled:()I
            ireturn
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;

  public int getQueued();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
         0: .line 141
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            invokeinterface org.apache.qpid.proton.engine.Link.getQueued:()I
            ireturn
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;

  public boolean advance();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
         0: .line 145
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            invokeinterface org.apache.qpid.proton.engine.Link.advance:()Z
            ireturn
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;

  public int drained();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
         0: .line 149
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            invokeinterface org.apache.qpid.proton.engine.Link.drained:()I
            istore 1 /* drained */
        start local 1 // int drained
         1: .line 150
            aload 0 /* this */
            invokevirtual io.vertx.proton.impl.ProtonLinkImpl.getSession:()Lio/vertx/proton/impl/ProtonSessionImpl;
            invokevirtual io.vertx.proton.impl.ProtonSessionImpl.getConnectionImpl:()Lio/vertx/proton/impl/ProtonConnectionImpl;
            invokevirtual io.vertx.proton.impl.ProtonConnectionImpl.flush:()V
         2: .line 151
            iload 1 /* drained */
            ireturn
        end local 1 // int drained
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;
            1    3     1  drained  I

  public boolean detached();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
         0: .line 155
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            invokeinterface org.apache.qpid.proton.engine.Link.detached:()Z
            ireturn
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;

  public org.apache.qpid.proton.engine.Delivery delivery(byte[], int, int);
    descriptor: ([BII)Lorg/apache/qpid/proton/engine/Delivery;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
        start local 1 // byte[] tag
        start local 2 // int offset
        start local 3 // int length
         0: .line 159
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            aload 1 /* tag */
            iload 2 /* offset */
            iload 3 /* length */
            invokeinterface org.apache.qpid.proton.engine.Link.delivery:([BII)Lorg/apache/qpid/proton/engine/Delivery;
            areturn
        end local 3 // int length
        end local 2 // int offset
        end local 1 // byte[] tag
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;
            0    1     1     tag  [B
            0    1     2  offset  I
            0    1     3  length  I
    MethodParameters:
        Name  Flags
      tag     
      offset  
      length  

  public org.apache.qpid.proton.engine.Delivery current();
    descriptor: ()Lorg/apache/qpid/proton/engine/Delivery;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
         0: .line 163
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            invokeinterface org.apache.qpid.proton.engine.Link.current:()Lorg/apache/qpid/proton/engine/Delivery;
            areturn
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;

  public T setCondition(org.apache.qpid.proton.amqp.transport.ErrorCondition);
    descriptor: (Lorg/apache/qpid/proton/amqp/transport/ErrorCondition;)Lio/vertx/proton/ProtonLink;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
        start local 1 // org.apache.qpid.proton.amqp.transport.ErrorCondition condition
         0: .line 168
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            aload 1 /* condition */
            invokeinterface org.apache.qpid.proton.engine.Link.setCondition:(Lorg/apache/qpid/proton/amqp/transport/ErrorCondition;)V
         1: .line 169
            aload 0 /* this */
            invokevirtual io.vertx.proton.impl.ProtonLinkImpl.self:()Lio/vertx/proton/ProtonLink;
            areturn
        end local 1 // org.apache.qpid.proton.amqp.transport.ErrorCondition condition
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;
            0    2     1  condition  Lorg/apache/qpid/proton/amqp/transport/ErrorCondition;
    Signature: (Lorg/apache/qpid/proton/amqp/transport/ErrorCondition;)TT;
    MethodParameters:
           Name  Flags
      condition  

  public org.apache.qpid.proton.engine.Delivery delivery(byte[]);
    descriptor: ([B)Lorg/apache/qpid/proton/engine/Delivery;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
        start local 1 // byte[] tag
         0: .line 173
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            aload 1 /* tag */
            invokeinterface org.apache.qpid.proton.engine.Link.delivery:([B)Lorg/apache/qpid/proton/engine/Delivery;
            areturn
        end local 1 // byte[] tag
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;
            0    1     1   tag  [B
    MethodParameters:
      Name  Flags
      tag   

  public T open();
    descriptor: ()Lio/vertx/proton/ProtonLink;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
         0: .line 178
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            invokeinterface org.apache.qpid.proton.engine.Link.open:()V
         1: .line 179
            aload 0 /* this */
            invokevirtual io.vertx.proton.impl.ProtonLinkImpl.getSession:()Lio/vertx/proton/impl/ProtonSessionImpl;
            invokevirtual io.vertx.proton.impl.ProtonSessionImpl.getConnectionImpl:()Lio/vertx/proton/impl/ProtonConnectionImpl;
            invokevirtual io.vertx.proton.impl.ProtonConnectionImpl.flush:()V
         2: .line 180
            aload 0 /* this */
            invokevirtual io.vertx.proton.impl.ProtonLinkImpl.self:()Lio/vertx/proton/ProtonLink;
            areturn
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;
    Signature: ()TT;

  public T close();
    descriptor: ()Lio/vertx/proton/ProtonLink;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
         0: .line 185
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            invokeinterface org.apache.qpid.proton.engine.Link.close:()V
         1: .line 186
            aload 0 /* this */
            invokevirtual io.vertx.proton.impl.ProtonLinkImpl.getSession:()Lio/vertx/proton/impl/ProtonSessionImpl;
            invokevirtual io.vertx.proton.impl.ProtonSessionImpl.getConnectionImpl:()Lio/vertx/proton/impl/ProtonConnectionImpl;
            invokevirtual io.vertx.proton.impl.ProtonConnectionImpl.flush:()V
         2: .line 187
            aload 0 /* this */
            invokevirtual io.vertx.proton.impl.ProtonLinkImpl.self:()Lio/vertx/proton/ProtonLink;
            areturn
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;
    Signature: ()TT;

  public T detach();
    descriptor: ()Lio/vertx/proton/ProtonLink;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
         0: .line 192
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            invokeinterface org.apache.qpid.proton.engine.Link.detach:()V
         1: .line 193
            aload 0 /* this */
            invokevirtual io.vertx.proton.impl.ProtonLinkImpl.getSession:()Lio/vertx/proton/impl/ProtonSessionImpl;
            invokevirtual io.vertx.proton.impl.ProtonSessionImpl.getConnectionImpl:()Lio/vertx/proton/impl/ProtonConnectionImpl;
            invokevirtual io.vertx.proton.impl.ProtonConnectionImpl.flush:()V
         2: .line 194
            aload 0 /* this */
            invokevirtual io.vertx.proton.impl.ProtonLinkImpl.self:()Lio/vertx/proton/ProtonLink;
            areturn
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;
    Signature: ()TT;

  public T openHandler(io.vertx.core.Handler<io.vertx.core.AsyncResult<T>>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/proton/ProtonLink;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
        start local 1 // io.vertx.core.Handler openHandler
         0: .line 199
            aload 0 /* this */
            aload 1 /* openHandler */
            putfield io.vertx.proton.impl.ProtonLinkImpl.openHandler:Lio/vertx/core/Handler;
         1: .line 200
            aload 0 /* this */
            invokevirtual io.vertx.proton.impl.ProtonLinkImpl.self:()Lio/vertx/proton/ProtonLink;
            areturn
        end local 1 // io.vertx.core.Handler openHandler
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;
            0    2     1  openHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TT;>;>;
    Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TT;>;>;)TT;
    MethodParameters:
             Name  Flags
      openHandler  

  public T closeHandler(io.vertx.core.Handler<io.vertx.core.AsyncResult<T>>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/proton/ProtonLink;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
        start local 1 // io.vertx.core.Handler closeHandler
         0: .line 205
            aload 0 /* this */
            aload 1 /* closeHandler */
            putfield io.vertx.proton.impl.ProtonLinkImpl.closeHandler:Lio/vertx/core/Handler;
         1: .line 206
            aload 0 /* this */
            invokevirtual io.vertx.proton.impl.ProtonLinkImpl.self:()Lio/vertx/proton/ProtonLink;
            areturn
        end local 1 // io.vertx.core.Handler closeHandler
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;
            0    2     1  closeHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TT;>;>;
    Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TT;>;>;)TT;
    MethodParameters:
              Name  Flags
      closeHandler  

  public T detachHandler(io.vertx.core.Handler<io.vertx.core.AsyncResult<T>>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/proton/ProtonLink;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
        start local 1 // io.vertx.core.Handler detachHandler
         0: .line 211
            aload 0 /* this */
            aload 1 /* detachHandler */
            putfield io.vertx.proton.impl.ProtonLinkImpl.detachHandler:Lio/vertx/core/Handler;
         1: .line 212
            aload 0 /* this */
            invokevirtual io.vertx.proton.impl.ProtonLinkImpl.self:()Lio/vertx/proton/ProtonLink;
            areturn
        end local 1 // io.vertx.core.Handler detachHandler
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;
            0    2     1  detachHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TT;>;>;
    Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TT;>;>;)TT;
    MethodParameters:
               Name  Flags
      detachHandler  

  public boolean isOpen();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
         0: .line 217
            aload 0 /* this */
            invokevirtual io.vertx.proton.impl.ProtonLinkImpl.getLocalState:()Lorg/apache/qpid/proton/engine/EndpointState;
            getstatic org.apache.qpid.proton.engine.EndpointState.ACTIVE:Lorg/apache/qpid/proton/engine/EndpointState;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;

  public io.vertx.proton.ProtonQoS getQoS();
    descriptor: ()Lio/vertx/proton/ProtonQoS;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
         0: .line 222
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            invokeinterface org.apache.qpid.proton.engine.Link.getSenderSettleMode:()Lorg/apache/qpid/proton/amqp/transport/SenderSettleMode;
            getstatic org.apache.qpid.proton.amqp.transport.SenderSettleMode.SETTLED:Lorg/apache/qpid/proton/amqp/transport/SenderSettleMode;
            if_acmpne 2
         1: .line 223
            getstatic io.vertx.proton.ProtonQoS.AT_MOST_ONCE:Lio/vertx/proton/ProtonQoS;
            areturn
         2: .line 226
      StackMap locals:
      StackMap stack:
            getstatic io.vertx.proton.ProtonQoS.AT_LEAST_ONCE:Lio/vertx/proton/ProtonQoS;
            areturn
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;

  public io.vertx.proton.ProtonQoS getRemoteQoS();
    descriptor: ()Lio/vertx/proton/ProtonQoS;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
         0: .line 231
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            invokeinterface org.apache.qpid.proton.engine.Link.getRemoteSenderSettleMode:()Lorg/apache/qpid/proton/amqp/transport/SenderSettleMode;
            getstatic org.apache.qpid.proton.amqp.transport.SenderSettleMode.SETTLED:Lorg/apache/qpid/proton/amqp/transport/SenderSettleMode;
            if_acmpne 2
         1: .line 232
            getstatic io.vertx.proton.ProtonQoS.AT_MOST_ONCE:Lio/vertx/proton/ProtonQoS;
            areturn
         2: .line 235
      StackMap locals:
      StackMap stack:
            getstatic io.vertx.proton.ProtonQoS.AT_LEAST_ONCE:Lio/vertx/proton/ProtonQoS;
            areturn
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;

  public T setQoS(io.vertx.proton.ProtonQoS);
    descriptor: (Lio/vertx/proton/ProtonQoS;)Lio/vertx/proton/ProtonLink;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
        start local 1 // io.vertx.proton.ProtonQoS qos
         0: .line 240
            aload 1 /* qos */
            ifnonnull 2
         1: .line 241
            new java.lang.IllegalArgumentException
            dup
            ldc "Value must be specified"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 243
      StackMap locals:
      StackMap stack:
            invokestatic io.vertx.proton.impl.ProtonLinkImpl.$SWITCH_TABLE$io$vertx$proton$ProtonQoS:()[I
            aload 1 /* qos */
            invokevirtual io.vertx.proton.ProtonQoS.ordinal:()I
            iaload
            tableswitch { // 1 - 2
                    1: 3
                    2: 6
              default: 8
          }
         3: .line 245
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            getstatic org.apache.qpid.proton.amqp.transport.SenderSettleMode.SETTLED:Lorg/apache/qpid/proton/amqp/transport/SenderSettleMode;
            invokeinterface org.apache.qpid.proton.engine.Link.setSenderSettleMode:(Lorg/apache/qpid/proton/amqp/transport/SenderSettleMode;)V
         4: .line 246
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            getstatic org.apache.qpid.proton.amqp.transport.ReceiverSettleMode.FIRST:Lorg/apache/qpid/proton/amqp/transport/ReceiverSettleMode;
            invokeinterface org.apache.qpid.proton.engine.Link.setReceiverSettleMode:(Lorg/apache/qpid/proton/amqp/transport/ReceiverSettleMode;)V
         5: .line 247
            goto 8
         6: .line 249
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            getstatic org.apache.qpid.proton.amqp.transport.SenderSettleMode.UNSETTLED:Lorg/apache/qpid/proton/amqp/transport/SenderSettleMode;
            invokeinterface org.apache.qpid.proton.engine.Link.setSenderSettleMode:(Lorg/apache/qpid/proton/amqp/transport/SenderSettleMode;)V
         7: .line 250
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            getstatic org.apache.qpid.proton.amqp.transport.ReceiverSettleMode.FIRST:Lorg/apache/qpid/proton/amqp/transport/ReceiverSettleMode;
            invokeinterface org.apache.qpid.proton.engine.Link.setReceiverSettleMode:(Lorg/apache/qpid/proton/amqp/transport/ReceiverSettleMode;)V
         8: .line 253
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.vertx.proton.impl.ProtonLinkImpl.self:()Lio/vertx/proton/ProtonLink;
            areturn
        end local 1 // io.vertx.proton.ProtonQoS qos
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;
            0    9     1   qos  Lio/vertx/proton/ProtonQoS;
    Signature: (Lio/vertx/proton/ProtonQoS;)TT;
    MethodParameters:
      Name  Flags
      qos   

  public org.apache.qpid.proton.amqp.UnsignedLong getMaxMessageSize();
    descriptor: ()Lorg/apache/qpid/proton/amqp/UnsignedLong;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
         0: .line 258
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            invokeinterface org.apache.qpid.proton.engine.Link.getMaxMessageSize:()Lorg/apache/qpid/proton/amqp/UnsignedLong;
            areturn
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;

  public void setMaxMessageSize(org.apache.qpid.proton.amqp.UnsignedLong);
    descriptor: (Lorg/apache/qpid/proton/amqp/UnsignedLong;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
        start local 1 // org.apache.qpid.proton.amqp.UnsignedLong maxMessageSize
         0: .line 263
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            aload 1 /* maxMessageSize */
            invokeinterface org.apache.qpid.proton.engine.Link.setMaxMessageSize:(Lorg/apache/qpid/proton/amqp/UnsignedLong;)V
         1: .line 264
            return
        end local 1 // org.apache.qpid.proton.amqp.UnsignedLong maxMessageSize
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;
            0    2     1  maxMessageSize  Lorg/apache/qpid/proton/amqp/UnsignedLong;
    MethodParameters:
                Name  Flags
      maxMessageSize  

  public org.apache.qpid.proton.amqp.UnsignedLong getRemoteMaxMessageSize();
    descriptor: ()Lorg/apache/qpid/proton/amqp/UnsignedLong;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
         0: .line 268
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            invokeinterface org.apache.qpid.proton.engine.Link.getRemoteMaxMessageSize:()Lorg/apache/qpid/proton/amqp/UnsignedLong;
            areturn
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;

  public java.util.Map<org.apache.qpid.proton.amqp.Symbol, java.lang.Object> getRemoteProperties();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
         0: .line 273
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            invokeinterface org.apache.qpid.proton.engine.Link.getRemoteProperties:()Ljava/util/Map;
            areturn
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;
    Signature: ()Ljava/util/Map<Lorg/apache/qpid/proton/amqp/Symbol;Ljava/lang/Object;>;

  public void setProperties(java.util.Map<org.apache.qpid.proton.amqp.Symbol, java.lang.Object>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
        start local 1 // java.util.Map properties
         0: .line 278
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            aload 1 /* properties */
            invokeinterface org.apache.qpid.proton.engine.Link.setProperties:(Ljava/util/Map;)V
         1: .line 279
            return
        end local 1 // java.util.Map properties
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;
            0    2     1  properties  Ljava/util/Map<Lorg/apache/qpid/proton/amqp/Symbol;Ljava/lang/Object;>;
    Signature: (Ljava/util/Map<Lorg/apache/qpid/proton/amqp/Symbol;Ljava/lang/Object;>;)V
    MethodParameters:
            Name  Flags
      properties  

  public void setOfferedCapabilities(org.apache.qpid.proton.amqp.Symbol[]);
    descriptor: ([Lorg/apache/qpid/proton/amqp/Symbol;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
        start local 1 // org.apache.qpid.proton.amqp.Symbol[] capabilities
         0: .line 283
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            aload 1 /* capabilities */
            invokeinterface org.apache.qpid.proton.engine.Link.setOfferedCapabilities:([Lorg/apache/qpid/proton/amqp/Symbol;)V
         1: .line 284
            return
        end local 1 // org.apache.qpid.proton.amqp.Symbol[] capabilities
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;
            0    2     1  capabilities  [Lorg/apache/qpid/proton/amqp/Symbol;
    MethodParameters:
              Name  Flags
      capabilities  final

  public org.apache.qpid.proton.amqp.Symbol[] getRemoteOfferedCapabilities();
    descriptor: ()[Lorg/apache/qpid/proton/amqp/Symbol;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
         0: .line 288
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            invokeinterface org.apache.qpid.proton.engine.Link.getRemoteOfferedCapabilities:()[Lorg/apache/qpid/proton/amqp/Symbol;
            areturn
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;

  public void setDesiredCapabilities(org.apache.qpid.proton.amqp.Symbol[]);
    descriptor: ([Lorg/apache/qpid/proton/amqp/Symbol;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
        start local 1 // org.apache.qpid.proton.amqp.Symbol[] capabilities
         0: .line 293
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            aload 1 /* capabilities */
            invokeinterface org.apache.qpid.proton.engine.Link.setDesiredCapabilities:([Lorg/apache/qpid/proton/amqp/Symbol;)V
         1: .line 294
            return
        end local 1 // org.apache.qpid.proton.amqp.Symbol[] capabilities
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;
            0    2     1  capabilities  [Lorg/apache/qpid/proton/amqp/Symbol;
    MethodParameters:
              Name  Flags
      capabilities  final

  public org.apache.qpid.proton.amqp.Symbol[] getRemoteDesiredCapabilities();
    descriptor: ()[Lorg/apache/qpid/proton/amqp/Symbol;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
         0: .line 298
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            invokeinterface org.apache.qpid.proton.engine.Link.getRemoteDesiredCapabilities:()[Lorg/apache/qpid/proton/amqp/Symbol;
            areturn
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;

  public void free();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
         0: .line 303
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
            invokeinterface org.apache.qpid.proton.engine.Link.free:()V
         1: .line 304
            aload 0 /* this */
            invokevirtual io.vertx.proton.impl.ProtonLinkImpl.getSession:()Lio/vertx/proton/impl/ProtonSessionImpl;
            invokevirtual io.vertx.proton.impl.ProtonSessionImpl.getConnectionImpl:()Lio/vertx/proton/impl/ProtonConnectionImpl;
            invokevirtual io.vertx.proton.impl.ProtonConnectionImpl.flush:()V
         2: .line 305
            return
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;

  void fireRemoteOpen();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
         0: .line 313
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.openHandler:Lio/vertx/core/Handler;
            ifnull 2
         1: .line 314
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.openHandler:Lio/vertx/core/Handler;
            aload 0 /* this */
            invokevirtual io.vertx.proton.impl.ProtonLinkImpl.self:()Lio/vertx/proton/ProtonLink;
            aload 0 /* this */
            invokevirtual io.vertx.proton.impl.ProtonLinkImpl.getRemoteCondition:()Lorg/apache/qpid/proton/amqp/transport/ErrorCondition;
            invokestatic io.vertx.proton.ProtonHelper.future:(Ljava/lang/Object;Lorg/apache/qpid/proton/amqp/transport/ErrorCondition;)Lio/vertx/core/AsyncResult;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         2: .line 316
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;

  void fireRemoteDetach();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
         0: .line 319
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.detachHandler:Lio/vertx/core/Handler;
            ifnull 2
         1: .line 320
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.detachHandler:Lio/vertx/core/Handler;
            aload 0 /* this */
            invokevirtual io.vertx.proton.impl.ProtonLinkImpl.self:()Lio/vertx/proton/ProtonLink;
            aload 0 /* this */
            invokevirtual io.vertx.proton.impl.ProtonLinkImpl.getRemoteCondition:()Lorg/apache/qpid/proton/amqp/transport/ErrorCondition;
            invokestatic io.vertx.proton.ProtonHelper.future:(Ljava/lang/Object;Lorg/apache/qpid/proton/amqp/transport/ErrorCondition;)Lio/vertx/core/AsyncResult;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         2: .line 322
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;

  void fireRemoteClose();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.vertx.proton.impl.ProtonLinkImpl this
         0: .line 325
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.closeHandler:Lio/vertx/core/Handler;
            ifnull 2
         1: .line 326
            aload 0 /* this */
            getfield io.vertx.proton.impl.ProtonLinkImpl.closeHandler:Lio/vertx/core/Handler;
            aload 0 /* this */
            invokevirtual io.vertx.proton.impl.ProtonLinkImpl.self:()Lio/vertx/proton/ProtonLink;
            aload 0 /* this */
            invokevirtual io.vertx.proton.impl.ProtonLinkImpl.getRemoteCondition:()Lorg/apache/qpid/proton/amqp/transport/ErrorCondition;
            invokestatic io.vertx.proton.ProtonHelper.future:(Ljava/lang/Object;Lorg/apache/qpid/proton/amqp/transport/ErrorCondition;)Lio/vertx/core/AsyncResult;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         2: .line 328
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.vertx.proton.impl.ProtonLinkImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/vertx/proton/impl/ProtonLinkImpl<TT;>;

  abstract void handleLinkFlow();
    descriptor: ()V
    flags: (0x0400) ACC_ABSTRACT

  public io.vertx.proton.ProtonSession getSession();
    descriptor: ()Lio/vertx/proton/ProtonSession;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual io.vertx.proton.impl.ProtonLinkImpl.getSession:()Lio/vertx/proton/impl/ProtonSessionImpl;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static int[] $SWITCH_TABLE$io$vertx$proton$ProtonQoS();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 40
            getstatic io.vertx.proton.impl.ProtonLinkImpl.$SWITCH_TABLE$io$vertx$proton$ProtonQoS:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic io.vertx.proton.ProtonQoS.values:()[Lio/vertx/proton/ProtonQoS;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic io.vertx.proton.ProtonQoS.AT_LEAST_ONCE:Lio/vertx/proton/ProtonQoS;
            invokevirtual io.vertx.proton.ProtonQoS.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 io.vertx.proton.ProtonQoS.AT_MOST_ONCE:Lio/vertx/proton/ProtonQoS;
            invokevirtual io.vertx.proton.ProtonQoS.ordinal:()I
            iconst_1
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            dup
            putstatic io.vertx.proton.impl.ProtonLinkImpl.$SWITCH_TABLE$io$vertx$proton$ProtonQoS:[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
}
Signature: <T::Lio/vertx/proton/ProtonLink<TT;>;>Ljava/lang/Object;Lio/vertx/proton/ProtonLink<TT;>;
SourceFile: "ProtonLinkImpl.java"