blob: 8929ceeb117fb3e858b20afd18315f5e94d74a6e [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>ClientLinkType (Qpid ProtonJ2 Parent 1.0.0-M9 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="ClientLinkType (Qpid ProtonJ2 Parent 1.0.0-M9 API)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":6,"i21":6,"i22":6,"i23":6,"i24":6,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":6,"i31":6,"i32":6,"i33":10,"i34":10,"i35":10,"i36":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ClientLinkType.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.qpid.protonj2.client.impl</a></div>
<h2 title="Class ClientLinkType" class="title">Class ClientLinkType&lt;LinkType extends <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a>&lt;LinkType&gt;,&#8203;ProtonType extends <a href="../../engine/Link.html" title="interface in org.apache.qpid.protonj2.engine">Link</a>&lt;ProtonType&gt;&gt;</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.qpid.protonj2.client.impl.ClientLinkType&lt;LinkType,&#8203;ProtonType&gt;</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>LinkType</code> - The actual link type implementation ClientSender or ClientReceiver</dd>
<dd><code>ProtonType</code> - The proton concrete link type implementation Sender or Receiver</dd>
</dl>
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang" class="externalLink">AutoCloseable</a></code>, <code><a href="../Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a>&lt;LinkType&gt;</code></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><code><a href="ClientReceiverLinkType.html" title="class in org.apache.qpid.protonj2.client.impl">ClientReceiverLinkType</a></code>, <code><a href="ClientSenderLinkType.html" title="class in org.apache.qpid.protonj2.client.impl">ClientSenderLinkType</a></code></dd>
</dl>
<hr>
<pre>public abstract class <span class="typeNameLabel">ClientLinkType&lt;LinkType extends <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a>&lt;LinkType&gt;,&#8203;ProtonType extends <a href="../../engine/Link.html" title="interface in org.apache.qpid.protonj2.engine">Link</a>&lt;ProtonType&gt;&gt;</span>
extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>
implements <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a>&lt;LinkType&gt;</pre>
<div class="block">Base type used by client resources that represent an AMQP link type.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#closed">closed</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected static <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.html?is-external=true" title="class or interface in java.util.concurrent.atomic" class="externalLink">AtomicIntegerFieldUpdater</a>&lt;<a href="ClientLinkType.html" title="class in org.apache.qpid.protonj2.client.impl">ClientLinkType</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#CLOSED_UPDATER">CLOSED_UPDATER</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../futures/ClientFuture.html" title="class in org.apache.qpid.protonj2.client.futures">ClientFuture</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#closeFuture">closeFuture</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent" class="externalLink">ScheduledExecutorService</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#executor">executor</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../exceptions/ClientException.html" title="class in org.apache.qpid.protonj2.client.exceptions">ClientException</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#failureCause">failureCause</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#linkId">linkId</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/function/Consumer.html?is-external=true" title="class or interface in java.util.function" class="externalLink">Consumer</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#linkRemotelyClosedHandler">linkRemotelyClosedHandler</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../futures/ClientFuture.html" title="class in org.apache.qpid.protonj2.client.futures">ClientFuture</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#openFuture">openFuture</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../LinkOptions.html" title="class in org.apache.qpid.protonj2.client">LinkOptions</a>&lt;?&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#options">options</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../Source.html" title="interface in org.apache.qpid.protonj2.client">Source</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#remoteSource">remoteSource</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../Target.html" title="interface in org.apache.qpid.protonj2.client">Target</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#remoteTarget">remoteTarget</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="ClientSession.html" title="class in org.apache.qpid.protonj2.client.impl">ClientSession</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#session">session</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#address()">address</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the address that the <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client"><code>Link</code></a> instance will be subscribed to.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkClosedOrFailed()">checkClosedOrFailed</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="ClientInstance.html" title="class in org.apache.qpid.protonj2.client.impl">ClientInstance</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#client()">client</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#close()">close</a></span>()</code></th>
<td class="colLast">
<div class="block">Requests a close of the <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client"><code>Link</code></a> at the remote and waits until the Link has been
fully closed or until the configured close timeout is exceeded.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#close(org.apache.qpid.protonj2.client.ErrorCondition)">close</a></span>&#8203;(<a href="../ErrorCondition.html" title="interface in org.apache.qpid.protonj2.client">ErrorCondition</a>&nbsp;error)</code></th>
<td class="colLast">
<div class="block">Requests a close of the <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client"><code>Link</code></a> at the remote and waits until the Link has been
fully closed or until the configured <a href="../LinkOptions.html#closeTimeout()"><code>LinkOptions.closeTimeout()</code></a> is exceeded.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../futures/ClientFuture.html" title="class in org.apache.qpid.protonj2.client.futures">ClientFuture</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#closeAsync()">closeAsync</a></span>()</code></th>
<td class="colLast">
<div class="block">Requests a close of the <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client"><code>Link</code></a> link at the remote and returns a <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent" class="externalLink"><code>Future</code></a> that will be
completed once the link has been closed.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../futures/ClientFuture.html" title="class in org.apache.qpid.protonj2.client.futures">ClientFuture</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#closeAsync(org.apache.qpid.protonj2.client.ErrorCondition)">closeAsync</a></span>&#8203;(<a href="../ErrorCondition.html" title="interface in org.apache.qpid.protonj2.client">ErrorCondition</a>&nbsp;error)</code></th>
<td class="colLast">
<div class="block">Requests a close of the <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client"><code>Link</code></a> link at the remote and returns a <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent" class="externalLink"><code>Future</code></a> that will be
completed once the link has been closed.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="ClientConnection.html" title="class in org.apache.qpid.protonj2.client.impl">ClientConnection</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#connection()">connection</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#desiredCapabilities()">desiredCapabilities</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the desired capabilities that the remote provided upon successfully opening the <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client"><code>Link</code></a>.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#detach()">detach</a></span>()</code></th>
<td class="colLast">
<div class="block">Requests a detach of the <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client"><code>Link</code></a> at the remote and waits until the Link has been
fully detached or until the configured <a href="../LinkOptions.html#closeTimeout()"><code>LinkOptions.closeTimeout()</code></a> is exceeded.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#detach(org.apache.qpid.protonj2.client.ErrorCondition)">detach</a></span>&#8203;(<a href="../ErrorCondition.html" title="interface in org.apache.qpid.protonj2.client">ErrorCondition</a>&nbsp;error)</code></th>
<td class="colLast">
<div class="block">Requests a detach of the <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client"><code>Link</code></a> at the remote and waits until the Link has been
fully detached or until the configured <a href="../LinkOptions.html#closeTimeout()"><code>LinkOptions.closeTimeout()</code></a> is exceeded.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="../futures/ClientFuture.html" title="class in org.apache.qpid.protonj2.client.futures">ClientFuture</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#detachAsync()">detachAsync</a></span>()</code></th>
<td class="colLast">
<div class="block">Requests a detach of the <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client"><code>Link</code></a> link at the remote and returns a <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent" class="externalLink"><code>Future</code></a> that will be
completed once the link has been detached.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="../futures/ClientFuture.html" title="class in org.apache.qpid.protonj2.client.futures">ClientFuture</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#detachAsync(org.apache.qpid.protonj2.client.ErrorCondition)">detachAsync</a></span>&#8203;(<a href="../ErrorCondition.html" title="interface in org.apache.qpid.protonj2.client">ErrorCondition</a>&nbsp;error)</code></th>
<td class="colLast">
<div class="block">Requests a detach of the <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client"><code>Link</code></a> link at the remote and returns a <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent" class="externalLink"><code>Future</code></a> that will be
completed once the link has been detached.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#handleEngineShutdown(org.apache.qpid.protonj2.engine.Engine)">handleEngineShutdown</a></span>&#8203;(<a href="../../engine/Engine.html" title="interface in org.apache.qpid.protonj2.engine">Engine</a>&nbsp;engine)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#handleLocalCloseOrDetach(ProtonType)">handleLocalCloseOrDetach</a></span>&#8203;(<a href="ClientLinkType.html" title="type parameter in ClientLinkType">ProtonType</a>&nbsp;link)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#handleLocalOpen(ProtonType)">handleLocalOpen</a></span>&#8203;(<a href="ClientLinkType.html" title="type parameter in ClientLinkType">ProtonType</a>&nbsp;link)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#handleParentEndpointClosed(ProtonType)">handleParentEndpointClosed</a></span>&#8203;(<a href="ClientLinkType.html" title="type parameter in ClientLinkType">ProtonType</a>&nbsp;link)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#handleRemoteCloseOrDetach(ProtonType)">handleRemoteCloseOrDetach</a></span>&#8203;(<a href="ClientLinkType.html" title="type parameter in ClientLinkType">ProtonType</a>&nbsp;link)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#handleRemoteOpen(ProtonType)">handleRemoteOpen</a></span>&#8203;(<a href="ClientLinkType.html" title="type parameter in ClientLinkType">ProtonType</a>&nbsp;link)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#immediateLinkShutdown(org.apache.qpid.protonj2.client.exceptions.ClientException)">immediateLinkShutdown</a></span>&#8203;(<a href="../exceptions/ClientException.html" title="class in org.apache.qpid.protonj2.client.exceptions">ClientException</a>&nbsp;failureCause)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>protected abstract void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#linkSpecificCleanupHandler(org.apache.qpid.protonj2.client.exceptions.ClientException)">linkSpecificCleanupHandler</a></span>&#8203;(<a href="../exceptions/ClientException.html" title="class in org.apache.qpid.protonj2.client.exceptions">ClientException</a>&nbsp;failureCause)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>protected abstract void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#linkSpecificLocalCloseHandler()">linkSpecificLocalCloseHandler</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>protected abstract void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#linkSpecificLocalOpenHandler()">linkSpecificLocalOpenHandler</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>protected abstract void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#linkSpecificRemoteCloseHandler()">linkSpecificRemoteCloseHandler</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>protected abstract void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#linkSpecificRemoteOpenHandler()">linkSpecificRemoteOpenHandler</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#notClosedOrFailed(org.apache.qpid.protonj2.client.futures.ClientFuture)">notClosedOrFailed</a></span>&#8203;(<a href="../futures/ClientFuture.html" title="class in org.apache.qpid.protonj2.client.futures">ClientFuture</a>&lt;?&gt;&nbsp;request)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#notClosedOrFailed(org.apache.qpid.protonj2.client.futures.ClientFuture,ProtonType)">notClosedOrFailed</a></span>&#8203;(<a href="../futures/ClientFuture.html" title="class in org.apache.qpid.protonj2.client.futures">ClientFuture</a>&lt;?&gt;&nbsp;request,
<a href="ClientLinkType.html" title="type parameter in ClientLinkType">ProtonType</a>&nbsp;protonLink)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#offeredCapabilities()">offeredCapabilities</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the offered capabilities that the remote provided upon successfully opening the <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client"><code>Link</code></a>.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code><a href="../futures/ClientFuture.html" title="class in org.apache.qpid.protonj2.client.futures">ClientFuture</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#openFuture()">openFuture</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#properties()">properties</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the properties that the remote provided upon successfully opening the <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client"><code>Link</code></a>.</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>protected abstract <a href="ClientLinkType.html" title="type parameter in ClientLinkType">ProtonType</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#protonLink()">protonLink</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>protected abstract void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#recreateLinkForReconnect()">recreateLinkForReconnect</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>protected abstract <a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#self()">self</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code><a href="ClientSession.html" title="class in org.apache.qpid.protonj2.client.impl">ClientSession</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#session()">session</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code><a href="../Source.html" title="interface in org.apache.qpid.protonj2.client">Source</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#source()">source</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns an immutable view of the remote <a href="../Source.html" title="interface in org.apache.qpid.protonj2.client"><code>Source</code></a> object assigned to this link.</div>
</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code><a href="../Target.html" title="interface in org.apache.qpid.protonj2.client">Target</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#target()">target</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns an immutable view of the remote <a href="../Target.html" title="interface in org.apache.qpid.protonj2.client"><code>Target</code></a> object assigned to this sender link.</div>
</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#waitForOpenToComplete()">waitForOpenToComplete</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink">wait</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a id="CLOSED_UPDATER">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CLOSED_UPDATER</h4>
<pre>protected static final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.html?is-external=true" title="class or interface in java.util.concurrent.atomic" class="externalLink">AtomicIntegerFieldUpdater</a>&lt;<a href="ClientLinkType.html" title="class in org.apache.qpid.protonj2.client.impl">ClientLinkType</a>&gt; CLOSED_UPDATER</pre>
</li>
</ul>
<a id="openFuture">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>openFuture</h4>
<pre>protected final&nbsp;<a href="../futures/ClientFuture.html" title="class in org.apache.qpid.protonj2.client.futures">ClientFuture</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a> extends <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a>&gt;&gt; openFuture</pre>
</li>
</ul>
<a id="closeFuture">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>closeFuture</h4>
<pre>protected final&nbsp;<a href="../futures/ClientFuture.html" title="class in org.apache.qpid.protonj2.client.futures">ClientFuture</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a> extends <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a>&gt;&gt; closeFuture</pre>
</li>
</ul>
<a id="closed">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>closed</h4>
<pre>protected volatile&nbsp;int closed</pre>
</li>
</ul>
<a id="failureCause">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>failureCause</h4>
<pre>protected&nbsp;<a href="../exceptions/ClientException.html" title="class in org.apache.qpid.protonj2.client.exceptions">ClientException</a> failureCause</pre>
</li>
</ul>
<a id="session">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>session</h4>
<pre>protected final&nbsp;<a href="ClientSession.html" title="class in org.apache.qpid.protonj2.client.impl">ClientSession</a> session</pre>
</li>
</ul>
<a id="executor">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>executor</h4>
<pre>protected final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent" class="externalLink">ScheduledExecutorService</a> executor</pre>
</li>
</ul>
<a id="linkId">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>linkId</h4>
<pre>protected final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a> linkId</pre>
</li>
</ul>
<a id="options">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>options</h4>
<pre>protected final&nbsp;<a href="../LinkOptions.html" title="class in org.apache.qpid.protonj2.client">LinkOptions</a>&lt;?&gt; options</pre>
</li>
</ul>
<a id="remoteSource">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>remoteSource</h4>
<pre>protected volatile&nbsp;<a href="../Source.html" title="interface in org.apache.qpid.protonj2.client">Source</a> remoteSource</pre>
</li>
</ul>
<a id="remoteTarget">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>remoteTarget</h4>
<pre>protected volatile&nbsp;<a href="../Target.html" title="interface in org.apache.qpid.protonj2.client">Target</a> remoteTarget</pre>
</li>
</ul>
<a id="linkRemotelyClosedHandler">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>linkRemotelyClosedHandler</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/function/Consumer.html?is-external=true" title="class or interface in java.util.function" class="externalLink">Consumer</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a> extends <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a>&gt;&gt; linkRemotelyClosedHandler</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="self()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>self</h4>
<pre class="methodSignature">protected abstract&nbsp;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a>&nbsp;self()</pre>
</li>
</ul>
<a id="protonLink()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>protonLink</h4>
<pre class="methodSignature">protected abstract&nbsp;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">ProtonType</a>&nbsp;protonLink()</pre>
</li>
</ul>
<a id="close()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;close()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../Link.html#close()">Link</a></code></span></div>
<div class="block">Requests a close of the <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client"><code>Link</code></a> at the remote and waits until the Link has been
fully closed or until the configured close timeout is exceeded.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/AutoCloseable.html?is-external=true#close()" title="class or interface in java.lang" class="externalLink">close</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang" class="externalLink">AutoCloseable</a></code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../Link.html#close()">close</a></code>&nbsp;in interface&nbsp;<code><a href="../Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a> extends <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a>&gt;&gt;</code></dd>
</dl>
</li>
</ul>
<a id="close(org.apache.qpid.protonj2.client.ErrorCondition)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;close&#8203;(<a href="../ErrorCondition.html" title="interface in org.apache.qpid.protonj2.client">ErrorCondition</a>&nbsp;error)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../Link.html#close(org.apache.qpid.protonj2.client.ErrorCondition)">Link</a></code></span></div>
<div class="block">Requests a close of the <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client"><code>Link</code></a> at the remote and waits until the Link has been
fully closed or until the configured <a href="../LinkOptions.html#closeTimeout()"><code>LinkOptions.closeTimeout()</code></a> is exceeded.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../Link.html#close(org.apache.qpid.protonj2.client.ErrorCondition)">close</a></code>&nbsp;in interface&nbsp;<code><a href="../Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a> extends <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a>&gt;&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>error</code> - The <a href="../ErrorCondition.html" title="interface in org.apache.qpid.protonj2.client"><code>ErrorCondition</code></a> to transmit to the remote along with the close operation.</dd>
</dl>
</li>
</ul>
<a id="detach()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>detach</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;detach()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../Link.html#detach()">Link</a></code></span></div>
<div class="block">Requests a detach of the <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client"><code>Link</code></a> at the remote and waits until the Link has been
fully detached or until the configured <a href="../LinkOptions.html#closeTimeout()"><code>LinkOptions.closeTimeout()</code></a> is exceeded.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../Link.html#detach()">detach</a></code>&nbsp;in interface&nbsp;<code><a href="../Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a> extends <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a>&gt;&gt;</code></dd>
</dl>
</li>
</ul>
<a id="detach(org.apache.qpid.protonj2.client.ErrorCondition)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>detach</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;detach&#8203;(<a href="../ErrorCondition.html" title="interface in org.apache.qpid.protonj2.client">ErrorCondition</a>&nbsp;error)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../Link.html#detach(org.apache.qpid.protonj2.client.ErrorCondition)">Link</a></code></span></div>
<div class="block">Requests a detach of the <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client"><code>Link</code></a> at the remote and waits until the Link has been
fully detached or until the configured <a href="../LinkOptions.html#closeTimeout()"><code>LinkOptions.closeTimeout()</code></a> is exceeded.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../Link.html#detach(org.apache.qpid.protonj2.client.ErrorCondition)">detach</a></code>&nbsp;in interface&nbsp;<code><a href="../Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a> extends <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a>&gt;&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>error</code> - The <a href="../ErrorCondition.html" title="interface in org.apache.qpid.protonj2.client"><code>ErrorCondition</code></a> to transmit to the remote along with the detach operation.</dd>
</dl>
</li>
</ul>
<a id="closeAsync()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>closeAsync</h4>
<pre class="methodSignature">public&nbsp;<a href="../futures/ClientFuture.html" title="class in org.apache.qpid.protonj2.client.futures">ClientFuture</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a>&gt;&nbsp;closeAsync()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../Link.html#closeAsync()">Link</a></code></span></div>
<div class="block">Requests a close of the <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client"><code>Link</code></a> link at the remote and returns a <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent" class="externalLink"><code>Future</code></a> that will be
completed once the link has been closed.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../Link.html#closeAsync()">closeAsync</a></code>&nbsp;in interface&nbsp;<code><a href="../Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a> extends <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a>&gt;&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent" class="externalLink"><code>Future</code></a> that will be completed when the remote closes this <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client"><code>Link</code></a> link.</dd>
</dl>
</li>
</ul>
<a id="closeAsync(org.apache.qpid.protonj2.client.ErrorCondition)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>closeAsync</h4>
<pre class="methodSignature">public&nbsp;<a href="../futures/ClientFuture.html" title="class in org.apache.qpid.protonj2.client.futures">ClientFuture</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a>&gt;&nbsp;closeAsync&#8203;(<a href="../ErrorCondition.html" title="interface in org.apache.qpid.protonj2.client">ErrorCondition</a>&nbsp;error)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../Link.html#closeAsync(org.apache.qpid.protonj2.client.ErrorCondition)">Link</a></code></span></div>
<div class="block">Requests a close of the <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client"><code>Link</code></a> link at the remote and returns a <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent" class="externalLink"><code>Future</code></a> that will be
completed once the link has been closed.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../Link.html#closeAsync(org.apache.qpid.protonj2.client.ErrorCondition)">closeAsync</a></code>&nbsp;in interface&nbsp;<code><a href="../Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a> extends <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a>&gt;&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>error</code> - The <a href="../ErrorCondition.html" title="interface in org.apache.qpid.protonj2.client"><code>ErrorCondition</code></a> to transmit to the remote along with the close operation.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent" class="externalLink"><code>Future</code></a> that will be completed when the remote closes this <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client"><code>Link</code></a> link.</dd>
</dl>
</li>
</ul>
<a id="detachAsync()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>detachAsync</h4>
<pre class="methodSignature">public&nbsp;<a href="../futures/ClientFuture.html" title="class in org.apache.qpid.protonj2.client.futures">ClientFuture</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a>&gt;&nbsp;detachAsync()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../Link.html#detachAsync()">Link</a></code></span></div>
<div class="block">Requests a detach of the <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client"><code>Link</code></a> link at the remote and returns a <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent" class="externalLink"><code>Future</code></a> that will be
completed once the link has been detached.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../Link.html#detachAsync()">detachAsync</a></code>&nbsp;in interface&nbsp;<code><a href="../Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a> extends <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a>&gt;&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent" class="externalLink"><code>Future</code></a> that will be completed when the remote detaches this <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client"><code>Link</code></a> link.</dd>
</dl>
</li>
</ul>
<a id="detachAsync(org.apache.qpid.protonj2.client.ErrorCondition)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>detachAsync</h4>
<pre class="methodSignature">public&nbsp;<a href="../futures/ClientFuture.html" title="class in org.apache.qpid.protonj2.client.futures">ClientFuture</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a>&gt;&nbsp;detachAsync&#8203;(<a href="../ErrorCondition.html" title="interface in org.apache.qpid.protonj2.client">ErrorCondition</a>&nbsp;error)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../Link.html#detachAsync(org.apache.qpid.protonj2.client.ErrorCondition)">Link</a></code></span></div>
<div class="block">Requests a detach of the <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client"><code>Link</code></a> link at the remote and returns a <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent" class="externalLink"><code>Future</code></a> that will be
completed once the link has been detached.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../Link.html#detachAsync(org.apache.qpid.protonj2.client.ErrorCondition)">detachAsync</a></code>&nbsp;in interface&nbsp;<code><a href="../Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a> extends <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a>&gt;&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>error</code> - The <a href="../ErrorCondition.html" title="interface in org.apache.qpid.protonj2.client"><code>ErrorCondition</code></a> to transmit to the remote along with the detach operation.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent" class="externalLink"><code>Future</code></a> that will be completed when the remote detaches this <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client"><code>Link</code></a> link.</dd>
</dl>
</li>
</ul>
<a id="address()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>address</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;address()
throws <a href="../exceptions/ClientException.html" title="class in org.apache.qpid.protonj2.client.exceptions">ClientException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../Link.html#address()">Link</a></code></span></div>
<div class="block">Returns the address that the <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client"><code>Link</code></a> instance will be subscribed to. This method can
block based on the type of link and how it was configured.
<ul>
<li>
If the link is a Sender and it was configured as an anonymous sender then this method
returns null as the link has no address.
</li>
<li>
If a link was created with the dynamic node value enabled then the method will return
the dynamically created address once the remote has attached its end of the opened link.
Due to the need to await the remote peer to populate the dynamic address this method will
block until the open of the link has completed.
</li>
<li>
If not a dynamic link then the address returned is the address passed to the original
link creation method.
</li>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../Link.html#address()">address</a></code>&nbsp;in interface&nbsp;<code><a href="../Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a> extends <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a>&gt;&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the address that this <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client"><code>Link</code></a> is was assigned to.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../exceptions/ClientException.html" title="class in org.apache.qpid.protonj2.client.exceptions">ClientException</a></code> - if an error occurs while obtaining the <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client"><code>Link</code></a> address.</dd>
</dl>
</li>
</ul>
<a id="source()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>source</h4>
<pre class="methodSignature">public&nbsp;<a href="../Source.html" title="interface in org.apache.qpid.protonj2.client">Source</a>&nbsp;source()
throws <a href="../exceptions/ClientException.html" title="class in org.apache.qpid.protonj2.client.exceptions">ClientException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../Link.html#source()">Link</a></code></span></div>
<div class="block">Returns an immutable view of the remote <a href="../Source.html" title="interface in org.apache.qpid.protonj2.client"><code>Source</code></a> object assigned to this link. If the attach
has not completed yet this method will block to await the attach response which carries the remote
<a href="../Source.html" title="interface in org.apache.qpid.protonj2.client"><code>Source</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../Link.html#source()">source</a></code>&nbsp;in interface&nbsp;<code><a href="../Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a> extends <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a>&gt;&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the remote <a href="../Source.html" title="interface in org.apache.qpid.protonj2.client"><code>Source</code></a> node configuration.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../exceptions/ClientException.html" title="class in org.apache.qpid.protonj2.client.exceptions">ClientException</a></code> - if an error occurs while obtaining the <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client"><code>Link</code></a> remote <a href="../Source.html" title="interface in org.apache.qpid.protonj2.client"><code>Source</code></a>.</dd>
</dl>
</li>
</ul>
<a id="target()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>target</h4>
<pre class="methodSignature">public&nbsp;<a href="../Target.html" title="interface in org.apache.qpid.protonj2.client">Target</a>&nbsp;target()
throws <a href="../exceptions/ClientException.html" title="class in org.apache.qpid.protonj2.client.exceptions">ClientException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../Link.html#target()">Link</a></code></span></div>
<div class="block">Returns an immutable view of the remote <a href="../Target.html" title="interface in org.apache.qpid.protonj2.client"><code>Target</code></a> object assigned to this sender link. If the
attach has not completed yet this method will block to await the attach response which carries the remote
<a href="../Target.html" title="interface in org.apache.qpid.protonj2.client"><code>Target</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../Link.html#target()">target</a></code>&nbsp;in interface&nbsp;<code><a href="../Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a> extends <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a>&gt;&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the remote <a href="../Target.html" title="interface in org.apache.qpid.protonj2.client"><code>Target</code></a> node configuration.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../exceptions/ClientException.html" title="class in org.apache.qpid.protonj2.client.exceptions">ClientException</a></code> - if an error occurs while obtaining the <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client"><code>Link</code></a> remote <a href="../Target.html" title="interface in org.apache.qpid.protonj2.client"><code>Target</code></a>.</dd>
</dl>
</li>
</ul>
<a id="properties()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>properties</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&gt;&nbsp;properties()
throws <a href="../exceptions/ClientException.html" title="class in org.apache.qpid.protonj2.client.exceptions">ClientException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../Link.html#properties()">Link</a></code></span></div>
<div class="block">Returns the properties that the remote provided upon successfully opening the <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client"><code>Link</code></a>. If the
attach has not completed yet this method will block to await the attach response which carries the remote
properties. If the remote provides no properties this method will return null.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../Link.html#properties()">properties</a></code>&nbsp;in interface&nbsp;<code><a href="../Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a> extends <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a>&gt;&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>any properties provided from the remote once the sender has successfully opened.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../exceptions/ClientException.html" title="class in org.apache.qpid.protonj2.client.exceptions">ClientException</a></code> - if an error occurs while obtaining the <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client"><code>Link</code></a> remote properties.</dd>
</dl>
</li>
</ul>
<a id="offeredCapabilities()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>offeredCapabilities</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>[]&nbsp;offeredCapabilities()
throws <a href="../exceptions/ClientException.html" title="class in org.apache.qpid.protonj2.client.exceptions">ClientException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../Link.html#offeredCapabilities()">Link</a></code></span></div>
<div class="block">Returns the offered capabilities that the remote provided upon successfully opening the <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client"><code>Link</code></a>.
If the attach has not completed yet this method will block to await the attach response which carries the
remote offered capabilities. If the remote provides no capabilities this method will return null.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../Link.html#offeredCapabilities()">offeredCapabilities</a></code>&nbsp;in interface&nbsp;<code><a href="../Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a> extends <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a>&gt;&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>any capabilities provided from the remote once the sender has successfully opened.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../exceptions/ClientException.html" title="class in org.apache.qpid.protonj2.client.exceptions">ClientException</a></code> - if an error occurs while obtaining the <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client"><code>Link</code></a> remote offered capabilities.</dd>
</dl>
</li>
</ul>
<a id="desiredCapabilities()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>desiredCapabilities</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>[]&nbsp;desiredCapabilities()
throws <a href="../exceptions/ClientException.html" title="class in org.apache.qpid.protonj2.client.exceptions">ClientException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../Link.html#desiredCapabilities()">Link</a></code></span></div>
<div class="block">Returns the desired capabilities that the remote provided upon successfully opening the <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client"><code>Link</code></a>.
If the attach has not completed yet this method will block to await the attach response which carries the
remote desired capabilities. If the remote provides no capabilities this method will return null.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../Link.html#desiredCapabilities()">desiredCapabilities</a></code>&nbsp;in interface&nbsp;<code><a href="../Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a> extends <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a>&gt;&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>any desired capabilities provided from the remote once the sender has successfully opened.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../exceptions/ClientException.html" title="class in org.apache.qpid.protonj2.client.exceptions">ClientException</a></code> - if an error occurs while obtaining the <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client"><code>Link</code></a> remote desired capabilities.</dd>
</dl>
</li>
</ul>
<a id="client()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>client</h4>
<pre class="methodSignature">public&nbsp;<a href="ClientInstance.html" title="class in org.apache.qpid.protonj2.client.impl">ClientInstance</a>&nbsp;client()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../Link.html#client()">client</a></code>&nbsp;in interface&nbsp;<code><a href="../Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a> extends <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a>&gt;&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="../Client.html" title="interface in org.apache.qpid.protonj2.client"><code>Client</code></a> instance that holds this session's <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client"><code>Link</code></a></dd>
</dl>
</li>
</ul>
<a id="connection()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>connection</h4>
<pre class="methodSignature">public&nbsp;<a href="ClientConnection.html" title="class in org.apache.qpid.protonj2.client.impl">ClientConnection</a>&nbsp;connection()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../Link.html#connection()">connection</a></code>&nbsp;in interface&nbsp;<code><a href="../Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a> extends <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a>&gt;&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="../Connection.html" title="interface in org.apache.qpid.protonj2.client"><code>Connection</code></a> instance that holds this session's <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client"><code>Link</code></a></dd>
</dl>
</li>
</ul>
<a id="session()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>session</h4>
<pre class="methodSignature">public&nbsp;<a href="ClientSession.html" title="class in org.apache.qpid.protonj2.client.impl">ClientSession</a>&nbsp;session()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../Link.html#session()">session</a></code>&nbsp;in interface&nbsp;<code><a href="../Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a> extends <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a>&gt;&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="../Session.html" title="interface in org.apache.qpid.protonj2.client"><code>Session</code></a> that created and holds this <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client"><code>Link</code></a>.</dd>
</dl>
</li>
</ul>
<a id="openFuture()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>openFuture</h4>
<pre class="methodSignature">public&nbsp;<a href="../futures/ClientFuture.html" title="class in org.apache.qpid.protonj2.client.futures">ClientFuture</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a>&gt;&nbsp;openFuture()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../Link.html#openFuture()">openFuture</a></code>&nbsp;in interface&nbsp;<code><a href="../Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a> extends <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a>&lt;<a href="ClientLinkType.html" title="type parameter in ClientLinkType">LinkType</a>&gt;&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent" class="externalLink"><code>Future</code></a> that will be completed when the remote opens this <a href="../Link.html" title="interface in org.apache.qpid.protonj2.client"><code>Link</code></a>.</dd>
</dl>
</li>
</ul>
<a id="handleLocalOpen(org.apache.qpid.protonj2.engine.Link)">
<!-- -->
</a><a id="handleLocalOpen(ProtonType)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>handleLocalOpen</h4>
<pre class="methodSignature">protected final&nbsp;void&nbsp;handleLocalOpen&#8203;(<a href="ClientLinkType.html" title="type parameter in ClientLinkType">ProtonType</a>&nbsp;link)</pre>
</li>
</ul>
<a id="handleLocalCloseOrDetach(org.apache.qpid.protonj2.engine.Link)">
<!-- -->
</a><a id="handleLocalCloseOrDetach(ProtonType)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>handleLocalCloseOrDetach</h4>
<pre class="methodSignature">protected final&nbsp;void&nbsp;handleLocalCloseOrDetach&#8203;(<a href="ClientLinkType.html" title="type parameter in ClientLinkType">ProtonType</a>&nbsp;link)</pre>
</li>
</ul>
<a id="handleRemoteOpen(org.apache.qpid.protonj2.engine.Link)">
<!-- -->
</a><a id="handleRemoteOpen(ProtonType)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>handleRemoteOpen</h4>
<pre class="methodSignature">protected final&nbsp;void&nbsp;handleRemoteOpen&#8203;(<a href="ClientLinkType.html" title="type parameter in ClientLinkType">ProtonType</a>&nbsp;link)</pre>
</li>
</ul>
<a id="handleRemoteCloseOrDetach(org.apache.qpid.protonj2.engine.Link)">
<!-- -->
</a><a id="handleRemoteCloseOrDetach(ProtonType)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>handleRemoteCloseOrDetach</h4>
<pre class="methodSignature">protected final&nbsp;void&nbsp;handleRemoteCloseOrDetach&#8203;(<a href="ClientLinkType.html" title="type parameter in ClientLinkType">ProtonType</a>&nbsp;link)</pre>
</li>
</ul>
<a id="handleParentEndpointClosed(org.apache.qpid.protonj2.engine.Link)">
<!-- -->
</a><a id="handleParentEndpointClosed(ProtonType)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>handleParentEndpointClosed</h4>
<pre class="methodSignature">protected final&nbsp;void&nbsp;handleParentEndpointClosed&#8203;(<a href="ClientLinkType.html" title="type parameter in ClientLinkType">ProtonType</a>&nbsp;link)</pre>
</li>
</ul>
<a id="handleEngineShutdown(org.apache.qpid.protonj2.engine.Engine)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>handleEngineShutdown</h4>
<pre class="methodSignature">protected final&nbsp;void&nbsp;handleEngineShutdown&#8203;(<a href="../../engine/Engine.html" title="interface in org.apache.qpid.protonj2.engine">Engine</a>&nbsp;engine)</pre>
</li>
</ul>
<a id="immediateLinkShutdown(org.apache.qpid.protonj2.client.exceptions.ClientException)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>immediateLinkShutdown</h4>
<pre class="methodSignature">protected final&nbsp;void&nbsp;immediateLinkShutdown&#8203;(<a href="../exceptions/ClientException.html" title="class in org.apache.qpid.protonj2.client.exceptions">ClientException</a>&nbsp;failureCause)</pre>
</li>
</ul>
<a id="linkSpecificLocalOpenHandler()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>linkSpecificLocalOpenHandler</h4>
<pre class="methodSignature">protected abstract&nbsp;void&nbsp;linkSpecificLocalOpenHandler()</pre>
</li>
</ul>
<a id="linkSpecificLocalCloseHandler()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>linkSpecificLocalCloseHandler</h4>
<pre class="methodSignature">protected abstract&nbsp;void&nbsp;linkSpecificLocalCloseHandler()</pre>
</li>
</ul>
<a id="linkSpecificRemoteOpenHandler()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>linkSpecificRemoteOpenHandler</h4>
<pre class="methodSignature">protected abstract&nbsp;void&nbsp;linkSpecificRemoteOpenHandler()</pre>
</li>
</ul>
<a id="linkSpecificRemoteCloseHandler()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>linkSpecificRemoteCloseHandler</h4>
<pre class="methodSignature">protected abstract&nbsp;void&nbsp;linkSpecificRemoteCloseHandler()</pre>
</li>
</ul>
<a id="linkSpecificCleanupHandler(org.apache.qpid.protonj2.client.exceptions.ClientException)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>linkSpecificCleanupHandler</h4>
<pre class="methodSignature">protected abstract&nbsp;void&nbsp;linkSpecificCleanupHandler&#8203;(<a href="../exceptions/ClientException.html" title="class in org.apache.qpid.protonj2.client.exceptions">ClientException</a>&nbsp;failureCause)</pre>
</li>
</ul>
<a id="recreateLinkForReconnect()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>recreateLinkForReconnect</h4>
<pre class="methodSignature">protected abstract&nbsp;void&nbsp;recreateLinkForReconnect()</pre>
</li>
</ul>
<a id="notClosedOrFailed(org.apache.qpid.protonj2.client.futures.ClientFuture)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>notClosedOrFailed</h4>
<pre class="methodSignature">protected&nbsp;boolean&nbsp;notClosedOrFailed&#8203;(<a href="../futures/ClientFuture.html" title="class in org.apache.qpid.protonj2.client.futures">ClientFuture</a>&lt;?&gt;&nbsp;request)</pre>
</li>
</ul>
<a id="notClosedOrFailed(org.apache.qpid.protonj2.client.futures.ClientFuture,org.apache.qpid.protonj2.engine.Link)">
<!-- -->
</a><a id="notClosedOrFailed(org.apache.qpid.protonj2.client.futures.ClientFuture,ProtonType)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>notClosedOrFailed</h4>
<pre class="methodSignature">protected&nbsp;boolean&nbsp;notClosedOrFailed&#8203;(<a href="../futures/ClientFuture.html" title="class in org.apache.qpid.protonj2.client.futures">ClientFuture</a>&lt;?&gt;&nbsp;request,
<a href="ClientLinkType.html" title="type parameter in ClientLinkType">ProtonType</a>&nbsp;protonLink)</pre>
</li>
</ul>
<a id="checkClosedOrFailed()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkClosedOrFailed</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;checkClosedOrFailed()
throws <a href="../exceptions/ClientException.html" title="class in org.apache.qpid.protonj2.client.exceptions">ClientException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../exceptions/ClientException.html" title="class in org.apache.qpid.protonj2.client.exceptions">ClientException</a></code></dd>
</dl>
</li>
</ul>
<a id="waitForOpenToComplete()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>waitForOpenToComplete</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;waitForOpenToComplete()
throws <a href="../exceptions/ClientException.html" title="class in org.apache.qpid.protonj2.client.exceptions">ClientException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../exceptions/ClientException.html" title="class in org.apache.qpid.protonj2.client.exceptions">ClientException</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ClientLinkType.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>