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 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
2: aload 0
getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
aload 0
invokeinterface org.apache.qpid.proton.engine.Link.setContext:(Ljava/lang/Object;)V
3: aload 0
aload 0
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: return
end local 1 end local 0 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 0: aload 0
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 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 0: aload 0
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 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 0: aload 0
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 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 0: aload 0
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 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 0: aload 0
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 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 0: aload 0
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 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 0: aload 0
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 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 0: aload 0
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 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 0: aload 0
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 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 0: aload 0
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 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 0: aload 0
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 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 0: aload 0
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 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 start local 1 0: aload 0
getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
aload 1
invokeinterface org.apache.qpid.proton.engine.Link.setTarget:(Lorg/apache/qpid/proton/amqp/transport/Target;)V
1: aload 0
invokevirtual io.vertx.proton.impl.ProtonLinkImpl.self:()Lio/vertx/proton/ProtonLink;
areturn
end local 1 end local 0 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 0: aload 0
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 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 0: aload 0
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 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 start local 1 0: aload 0
getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
aload 1
invokeinterface org.apache.qpid.proton.engine.Link.setSource:(Lorg/apache/qpid/proton/amqp/transport/Source;)V
1: aload 0
invokevirtual io.vertx.proton.impl.ProtonLinkImpl.self:()Lio/vertx/proton/ProtonLink;
areturn
end local 1 end local 0 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 0: aload 0
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 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 0: aload 0
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 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 0: aload 0
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 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 0: aload 0
getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
invokeinterface org.apache.qpid.proton.engine.Link.drained:()I
istore 1
start local 1 1: aload 0
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: iload 1
ireturn
end local 1 end local 0 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 0: aload 0
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 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 start local 1 start local 2 start local 3 0: aload 0
getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
aload 1
iload 2
iload 3
invokeinterface org.apache.qpid.proton.engine.Link.delivery:([BII)Lorg/apache/qpid/proton/engine/Delivery;
areturn
end local 3 end local 2 end local 1 end local 0 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 0: aload 0
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 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 start local 1 0: aload 0
getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
aload 1
invokeinterface org.apache.qpid.proton.engine.Link.setCondition:(Lorg/apache/qpid/proton/amqp/transport/ErrorCondition;)V
1: aload 0
invokevirtual io.vertx.proton.impl.ProtonLinkImpl.self:()Lio/vertx/proton/ProtonLink;
areturn
end local 1 end local 0 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 start local 1 0: aload 0
getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
aload 1
invokeinterface org.apache.qpid.proton.engine.Link.delivery:([B)Lorg/apache/qpid/proton/engine/Delivery;
areturn
end local 1 end local 0 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 0: aload 0
getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
invokeinterface org.apache.qpid.proton.engine.Link.open:()V
1: aload 0
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: aload 0
invokevirtual io.vertx.proton.impl.ProtonLinkImpl.self:()Lio/vertx/proton/ProtonLink;
areturn
end local 0 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 0: aload 0
getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
invokeinterface org.apache.qpid.proton.engine.Link.close:()V
1: aload 0
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: aload 0
invokevirtual io.vertx.proton.impl.ProtonLinkImpl.self:()Lio/vertx/proton/ProtonLink;
areturn
end local 0 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 0: aload 0
getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
invokeinterface org.apache.qpid.proton.engine.Link.detach:()V
1: aload 0
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: aload 0
invokevirtual io.vertx.proton.impl.ProtonLinkImpl.self:()Lio/vertx/proton/ProtonLink;
areturn
end local 0 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 start local 1 0: aload 0
aload 1
putfield io.vertx.proton.impl.ProtonLinkImpl.openHandler:Lio/vertx/core/Handler;
1: aload 0
invokevirtual io.vertx.proton.impl.ProtonLinkImpl.self:()Lio/vertx/proton/ProtonLink;
areturn
end local 1 end local 0 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 start local 1 0: aload 0
aload 1
putfield io.vertx.proton.impl.ProtonLinkImpl.closeHandler:Lio/vertx/core/Handler;
1: aload 0
invokevirtual io.vertx.proton.impl.ProtonLinkImpl.self:()Lio/vertx/proton/ProtonLink;
areturn
end local 1 end local 0 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 start local 1 0: aload 0
aload 1
putfield io.vertx.proton.impl.ProtonLinkImpl.detachHandler:Lio/vertx/core/Handler;
1: aload 0
invokevirtual io.vertx.proton.impl.ProtonLinkImpl.self:()Lio/vertx/proton/ProtonLink;
areturn
end local 1 end local 0 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 0: aload 0
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 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 0: aload 0
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: getstatic io.vertx.proton.ProtonQoS.AT_MOST_ONCE:Lio/vertx/proton/ProtonQoS;
areturn
2: StackMap locals:
StackMap stack:
getstatic io.vertx.proton.ProtonQoS.AT_LEAST_ONCE:Lio/vertx/proton/ProtonQoS;
areturn
end local 0 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 0: aload 0
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: getstatic io.vertx.proton.ProtonQoS.AT_MOST_ONCE:Lio/vertx/proton/ProtonQoS;
areturn
2: StackMap locals:
StackMap stack:
getstatic io.vertx.proton.ProtonQoS.AT_LEAST_ONCE:Lio/vertx/proton/ProtonQoS;
areturn
end local 0 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 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "Value must be specified"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
invokestatic io.vertx.proton.impl.ProtonLinkImpl.$SWITCH_TABLE$io$vertx$proton$ProtonQoS:()[I
aload 1
invokevirtual io.vertx.proton.ProtonQoS.ordinal:()I
iaload
tableswitch { // 1 - 2
1: 3
2: 6
default: 8
}
3: StackMap locals:
StackMap stack:
aload 0
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: aload 0
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: goto 8
6: StackMap locals:
StackMap stack:
aload 0
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: aload 0
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: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.vertx.proton.impl.ProtonLinkImpl.self:()Lio/vertx/proton/ProtonLink;
areturn
end local 1 end local 0 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 0: aload 0
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 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 start local 1 0: aload 0
getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
aload 1
invokeinterface org.apache.qpid.proton.engine.Link.setMaxMessageSize:(Lorg/apache/qpid/proton/amqp/UnsignedLong;)V
1: return
end local 1 end local 0 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 0: aload 0
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 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 0: aload 0
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 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 start local 1 0: aload 0
getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
aload 1
invokeinterface org.apache.qpid.proton.engine.Link.setProperties:(Ljava/util/Map;)V
1: return
end local 1 end local 0 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 start local 1 0: aload 0
getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
aload 1
invokeinterface org.apache.qpid.proton.engine.Link.setOfferedCapabilities:([Lorg/apache/qpid/proton/amqp/Symbol;)V
1: return
end local 1 end local 0 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 0: aload 0
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 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 start local 1 0: aload 0
getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
aload 1
invokeinterface org.apache.qpid.proton.engine.Link.setDesiredCapabilities:([Lorg/apache/qpid/proton/amqp/Symbol;)V
1: return
end local 1 end local 0 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 0: aload 0
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 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 0: aload 0
getfield io.vertx.proton.impl.ProtonLinkImpl.link:Lorg/apache/qpid/proton/engine/Link;
invokeinterface org.apache.qpid.proton.engine.Link.free:()V
1: aload 0
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: return
end local 0 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 0: aload 0
getfield io.vertx.proton.impl.ProtonLinkImpl.openHandler:Lio/vertx/core/Handler;
ifnull 2
1: aload 0
getfield io.vertx.proton.impl.ProtonLinkImpl.openHandler:Lio/vertx/core/Handler;
aload 0
invokevirtual io.vertx.proton.impl.ProtonLinkImpl.self:()Lio/vertx/proton/ProtonLink;
aload 0
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: StackMap locals:
StackMap stack:
return
end local 0 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 0: aload 0
getfield io.vertx.proton.impl.ProtonLinkImpl.detachHandler:Lio/vertx/core/Handler;
ifnull 2
1: aload 0
getfield io.vertx.proton.impl.ProtonLinkImpl.detachHandler:Lio/vertx/core/Handler;
aload 0
invokevirtual io.vertx.proton.impl.ProtonLinkImpl.self:()Lio/vertx/proton/ProtonLink;
aload 0
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: StackMap locals:
StackMap stack:
return
end local 0 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 0: aload 0
getfield io.vertx.proton.impl.ProtonLinkImpl.closeHandler:Lio/vertx/core/Handler;
ifnull 2
1: aload 0
getfield io.vertx.proton.impl.ProtonLinkImpl.closeHandler:Lio/vertx/core/Handler;
aload 0
invokevirtual io.vertx.proton.impl.ProtonLinkImpl.self:()Lio/vertx/proton/ProtonLink;
aload 0
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: StackMap locals:
StackMap stack:
return
end local 0 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: 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: 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"