blob: 108d64496676e4f4c31f97fc045440f6dd93f87c [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>Link (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="Link (Qpid ProtonJ2 Parent 1.0.0-M9 API)";
}
}
catch(err) {
}
//-->
var data = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6,"i23":6,"i24":6,"i25":6,"i26":6,"i27":6,"i28":6,"i29":6,"i30":6,"i31":6,"i32":6,"i33":6,"i34":6,"i35":6,"i36":6,"i37":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract 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/Link.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>Field&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>Field&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.engine</a></div>
<h2 title="Interface Link" class="title">Interface Link&lt;L extends Link&lt;L&gt;&gt;</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>L</code> - The link type that this <a href="Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a> represents, <a href="Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a> or <a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine"><code>Receiver</code></a></dd>
</dl>
<dl>
<dt>All Superinterfaces:</dt>
<dd><code><a href="Endpoint.html" title="interface in org.apache.qpid.protonj2.engine">Endpoint</a>&lt;L&gt;</code></dd>
</dl>
<dl>
<dt>All Known Subinterfaces:</dt>
<dd><code><a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine">Receiver</a></code>, <code><a href="Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a></code></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="impl/ProtonLink.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonLink</a></code>, <code><a href="impl/ProtonReceiver.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonReceiver</a></code>, <code><a href="impl/ProtonSender.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonSender</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">Link&lt;L extends Link&lt;L&gt;&gt;</span>
extends <a href="Endpoint.html" title="interface in org.apache.qpid.protonj2.engine">Endpoint</a>&lt;L&gt;</pre>
<div class="block">Base API for <a href="Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a> and <a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine"><code>Receiver</code></a> links.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== 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></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="Link.html" title="type parameter in Link">L</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#creditStateUpdateHandler(org.apache.qpid.protonj2.engine.EventHandler)">creditStateUpdateHandler</a></span>&#8203;(<a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="Link.html" title="type parameter in Link">L</a>&gt;&nbsp;handler)</code></th>
<td class="colLast">
<div class="block">Handler for link credit updates that occur after a remote <a href="../types/transport/Flow.html" title="class in org.apache.qpid.protonj2.types.transport"><code>Flow</code></a> arrives.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="Link.html" title="type parameter in Link">L</a></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">Detach this end of the link.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="Link.html" title="type parameter in Link">L</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#detachHandler(org.apache.qpid.protonj2.engine.EventHandler)">detachHandler</a></span>&#8203;(<a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="Link.html" title="type parameter in Link">L</a>&gt;&nbsp;remoteDetachHandler)</code></th>
<td class="colLast">
<div class="block">Sets a <a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine"><code>EventHandler</code></a> for when an AMQP Detach frame is received from the remote peer for this
<a href="Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a> which would have been locally opened previously, the Detach from would have been marked
as not having been closed.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="Connection.html" title="interface in org.apache.qpid.protonj2.engine">Connection</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getConnection()">getConnection</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCredit()">getCredit</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the credit that is currently available or assigned to this link.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../types/UnsignedLong.html" title="class in org.apache.qpid.protonj2.types">UnsignedLong</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMaxMessageSize()">getMaxMessageSize</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets the local link max message size.</div>
</td>
</tr>
<tr id="i6" 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="#getName()">getName</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="Session.html" title="interface in org.apache.qpid.protonj2.engine">Session</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getParent()">getParent</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets the parent of this <a href="Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> which can be itself for <a href="Connection.html" title="interface in org.apache.qpid.protonj2.engine"><code>Connection</code></a> instance.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="../types/transport/ReceiverSettleMode.html" title="enum in org.apache.qpid.protonj2.types.transport">ReceiverSettleMode</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getReceiverSettleMode()">getReceiverSettleMode</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets the local link receiver settlement mode.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="../types/UnsignedLong.html" title="class in org.apache.qpid.protonj2.types">UnsignedLong</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRemoteMaxMessageSize()">getRemoteMaxMessageSize</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets the remote link max message size, as conveyed from the peer via the Attach frame
when attaching the link to the session.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="../types/transport/ReceiverSettleMode.html" title="enum in org.apache.qpid.protonj2.types.transport">ReceiverSettleMode</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRemoteReceiverSettleMode()">getRemoteReceiverSettleMode</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets the remote link receiver settlement mode, as conveyed from the peer via the Attach frame
when attaching the link to the session.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="../types/transport/SenderSettleMode.html" title="enum in org.apache.qpid.protonj2.types.transport">SenderSettleMode</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRemoteSenderSettleMode()">getRemoteSenderSettleMode</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets the remote link sender settlement mode, as conveyed from the peer via the Attach frame
when attaching the link to the session.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="../types/messaging/Source.html" title="class in org.apache.qpid.protonj2.types.messaging">Source</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRemoteSource()">getRemoteSource</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><a href="LinkState.html" title="enum in org.apache.qpid.protonj2.engine">LinkState</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRemoteState()">getRemoteState</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>&lt;T extends <a href="../types/messaging/Terminus.html" title="interface in org.apache.qpid.protonj2.types.messaging">Terminus</a>&gt;<br>T</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRemoteTarget()">getRemoteTarget</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the remote target <a href="../types/messaging/Terminus.html" title="interface in org.apache.qpid.protonj2.types.messaging"><code>Terminus</code></a> cast to the given type.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code><a href="../types/transport/Role.html" title="enum in org.apache.qpid.protonj2.types.transport">Role</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRole()">getRole</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code><a href="../types/transport/SenderSettleMode.html" title="enum in org.apache.qpid.protonj2.types.transport">SenderSettleMode</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSenderSettleMode()">getSenderSettleMode</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets the local link sender settlement mode.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code><a href="Session.html" title="interface in org.apache.qpid.protonj2.engine">Session</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSession()">getSession</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code><a href="../types/messaging/Source.html" title="class in org.apache.qpid.protonj2.types.messaging">Source</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSource()">getSource</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code><a href="LinkState.html" title="enum in org.apache.qpid.protonj2.engine">LinkState</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getState()">getState</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>&lt;T extends <a href="../types/messaging/Terminus.html" title="interface in org.apache.qpid.protonj2.types.messaging">Terminus</a>&gt;<br>T</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTarget()">getTarget</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the currently set Target for this <a href="Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a>.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isDraining()">isDraining</a></span>()</code></th>
<td class="colLast">
<div class="block">Indicates if the link is draining.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isLocallyClosedOrDetached()">isLocallyClosedOrDetached</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns true if this <a href="Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a> is currently locally detached or locally closed meaning the
state returned from <a href="#getState()"><code>getState()</code></a> is equal to <a href="LinkState.html#DETACHED"><code>LinkState.DETACHED</code></a> or
<a href="LinkState.html#CLOSED"><code>LinkState.CLOSED</code></a>.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isLocallyDetached()">isLocallyDetached</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns true if this <a href="Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a> is currently locally detached meaning the state returned
from <a href="#getState()"><code>getState()</code></a> is equal to <a href="LinkState.html#DETACHED"><code>LinkState.DETACHED</code></a>.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isReceiver()">isReceiver</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isRemotelyClosed()">isRemotelyClosed</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns true if this <a href="Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a> is currently remotely closed meaning the state returned
from <a href="#getRemoteState()"><code>getRemoteState()</code></a> is equal to <a href="LinkState.html#CLOSED"><code>LinkState.CLOSED</code></a>.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isRemotelyClosedOrDetached()">isRemotelyClosedOrDetached</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns true if this <a href="Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a> is currently remotely detached or closed meaning the state
returned from <a href="#getRemoteState()"><code>getRemoteState()</code></a> is equal to <a href="LinkState.html#DETACHED"><code>LinkState.DETACHED</code></a> or
<a href="LinkState.html#CLOSED"><code>LinkState.CLOSED</code></a>.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isRemotelyDetached()">isRemotelyDetached</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns true if this <a href="Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a> is currently remotely detached meaning the state returned
from <a href="#getRemoteState()"><code>getRemoteState()</code></a> is equal to <a href="LinkState.html#DETACHED"><code>LinkState.DETACHED</code></a>.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isRemotelyOpen()">isRemotelyOpen</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns true if this <a href="Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a> is currently remotely open meaning the state returned
from <a href="#getRemoteState()"><code>getRemoteState()</code></a> is equal to <a href="LinkState.html#ACTIVE"><code>LinkState.ACTIVE</code></a>.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isSender()">isSender</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code><a href="Link.html" title="type parameter in Link">L</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#localDetachHandler(org.apache.qpid.protonj2.engine.EventHandler)">localDetachHandler</a></span>&#8203;(<a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="Link.html" title="type parameter in Link">L</a>&gt;&nbsp;localDetachHandler)</code></th>
<td class="colLast">
<div class="block">Sets a <a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine"><code>EventHandler</code></a> for when an this link is detached locally via a call to <a href="#detach()"><code>detach()</code></a>
This is a convenience event that supplements the normal <a href="Endpoint.html#localCloseHandler(org.apache.qpid.protonj2.engine.EventHandler)"><code>Endpoint.localCloseHandler(EventHandler)</code></a>
event point if set.</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code><a href="Link.html" title="type parameter in Link">L</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#parentEndpointClosedHandler(org.apache.qpid.protonj2.engine.EventHandler)">parentEndpointClosedHandler</a></span>&#8203;(<a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="Link.html" title="type parameter in Link">L</a>&gt;&nbsp;handler)</code></th>
<td class="colLast">
<div class="block">Sets a <a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine"><code>EventHandler</code></a> for when the parent <a href="Session.html" title="interface in org.apache.qpid.protonj2.engine"><code>Session</code></a> or <a href="Connection.html" title="interface in org.apache.qpid.protonj2.engine"><code>Connection</code></a> of this link is
locally closed.</div>
</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code><a href="Link.html" title="type parameter in Link">L</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMaxMessageSize(org.apache.qpid.protonj2.types.UnsignedLong)">setMaxMessageSize</a></span>&#8203;(<a href="../types/UnsignedLong.html" title="class in org.apache.qpid.protonj2.types">UnsignedLong</a>&nbsp;maxMessageSize)</code></th>
<td class="colLast">
<div class="block">Sets the local link max message size, to be conveyed to the peer via the Attach frame
when attaching the link to the session.</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code><a href="Link.html" title="type parameter in Link">L</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setReceiverSettleMode(org.apache.qpid.protonj2.types.transport.ReceiverSettleMode)">setReceiverSettleMode</a></span>&#8203;(<a href="../types/transport/ReceiverSettleMode.html" title="enum in org.apache.qpid.protonj2.types.transport">ReceiverSettleMode</a>&nbsp;receiverSettleMode)</code></th>
<td class="colLast">
<div class="block">Sets the receiver settle mode.</div>
</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code><a href="Link.html" title="type parameter in Link">L</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSenderSettleMode(org.apache.qpid.protonj2.types.transport.SenderSettleMode)">setSenderSettleMode</a></span>&#8203;(<a href="../types/transport/SenderSettleMode.html" title="enum in org.apache.qpid.protonj2.types.transport">SenderSettleMode</a>&nbsp;senderSettleMode)</code></th>
<td class="colLast">
<div class="block">Sets the sender settle mode.</div>
</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code><a href="Link.html" title="type parameter in Link">L</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSource(org.apache.qpid.protonj2.types.messaging.Source)">setSource</a></span>&#8203;(<a href="../types/messaging/Source.html" title="class in org.apache.qpid.protonj2.types.messaging">Source</a>&nbsp;source)</code></th>
<td class="colLast">
<div class="block">Sets the <a href="../types/messaging/Source.html" title="class in org.apache.qpid.protonj2.types.messaging"><code>Source</code></a> to assign to the local end of this <a href="Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a>.</div>
</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code><a href="Link.html" title="type parameter in Link">L</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setTarget(org.apache.qpid.protonj2.types.messaging.Target)">setTarget</a></span>&#8203;(<a href="../types/messaging/Target.html" title="class in org.apache.qpid.protonj2.types.messaging">Target</a>&nbsp;target)</code></th>
<td class="colLast">
<div class="block">Sets the <a href="../types/messaging/Target.html" title="class in org.apache.qpid.protonj2.types.messaging"><code>Target</code></a> to assign to the local end of this <a href="Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a>.</div>
</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code><a href="Link.html" title="type parameter in Link">L</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setTarget(org.apache.qpid.protonj2.types.transactions.Coordinator)">setTarget</a></span>&#8203;(<a href="../types/transactions/Coordinator.html" title="class in org.apache.qpid.protonj2.types.transactions">Coordinator</a>&nbsp;coordinator)</code></th>
<td class="colLast">
<div class="block">Sets the <a href="../types/transactions/Coordinator.html" title="class in org.apache.qpid.protonj2.types.transactions"><code>Coordinator</code></a> target to assign to the local end of this <a href="Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a>.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.qpid.protonj2.engine.Endpoint">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.qpid.protonj2.engine.<a href="Endpoint.html" title="interface in org.apache.qpid.protonj2.engine">Endpoint</a></h3>
<code><a href="Endpoint.html#close()">close</a>, <a href="Endpoint.html#closeHandler(org.apache.qpid.protonj2.engine.EventHandler)">closeHandler</a>, <a href="Endpoint.html#engineShutdownHandler(org.apache.qpid.protonj2.engine.EventHandler)">engineShutdownHandler</a>, <a href="Endpoint.html#getAttachments()">getAttachments</a>, <a href="Endpoint.html#getCondition()">getCondition</a>, <a href="Endpoint.html#getDesiredCapabilities()">getDesiredCapabilities</a>, <a href="Endpoint.html#getEngine()">getEngine</a>, <a href="Endpoint.html#getLinkedResource()">getLinkedResource</a>, <a href="Endpoint.html#getLinkedResource(java.lang.Class)">getLinkedResource</a>, <a href="Endpoint.html#getOfferedCapabilities()">getOfferedCapabilities</a>, <a href="Endpoint.html#getProperties()">getProperties</a>, <a href="Endpoint.html#getRemoteCondition()">getRemoteCondition</a>, <a href="Endpoint.html#getRemoteDesiredCapabilities()">getRemoteDesiredCapabilities</a>, <a href="Endpoint.html#getRemoteOfferedCapabilities()">getRemoteOfferedCapabilities</a>, <a href="Endpoint.html#getRemoteProperties()">getRemoteProperties</a>, <a href="Endpoint.html#isLocallyClosed()">isLocallyClosed</a>, <a href="Endpoint.html#isLocallyOpen()">isLocallyOpen</a>, <a href="Endpoint.html#localCloseHandler(org.apache.qpid.protonj2.engine.EventHandler)">localCloseHandler</a>, <a href="Endpoint.html#localOpenHandler(org.apache.qpid.protonj2.engine.EventHandler)">localOpenHandler</a>, <a href="Endpoint.html#open()">open</a>, <a href="Endpoint.html#openHandler(org.apache.qpid.protonj2.engine.EventHandler)">openHandler</a>, <a href="Endpoint.html#setCondition(org.apache.qpid.protonj2.types.transport.ErrorCondition)">setCondition</a>, <a href="Endpoint.html#setDesiredCapabilities(org.apache.qpid.protonj2.types.Symbol...)">setDesiredCapabilities</a>, <a href="Endpoint.html#setLinkedResource(java.lang.Object)">setLinkedResource</a>, <a href="Endpoint.html#setOfferedCapabilities(org.apache.qpid.protonj2.types.Symbol...)">setOfferedCapabilities</a>, <a href="Endpoint.html#setProperties(java.util.Map)">setProperties</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="detach()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>detach</h4>
<pre class="methodSignature"><a href="Link.html" title="type parameter in Link">L</a>&nbsp;detach()</pre>
<div class="block">Detach this end of the link.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this Link.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="exceptions/EngineStateException.html" title="class in org.apache.qpid.protonj2.engine.exceptions">EngineStateException</a></code> - if an error occurs detaching the <a href="Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a> or the Engine is shutdown.</dd>
</dl>
</li>
</ul>
<a id="isLocallyDetached()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isLocallyDetached</h4>
<pre class="methodSignature">boolean&nbsp;isLocallyDetached()</pre>
<div class="block">Returns true if this <a href="Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a> is currently locally detached meaning the state returned
from <a href="#getState()"><code>getState()</code></a> is equal to <a href="LinkState.html#DETACHED"><code>LinkState.DETACHED</code></a>. A link
is locally detached after a call to <a href="#detach()"><code>detach()</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the link is locally closed.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="Endpoint.html#isLocallyOpen()"><code>Endpoint.isLocallyOpen()</code></a>,
<a href="Endpoint.html#isLocallyClosed()"><code>Endpoint.isLocallyClosed()</code></a></dd>
</dl>
</li>
</ul>
<a id="isLocallyClosedOrDetached()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isLocallyClosedOrDetached</h4>
<pre class="methodSignature">boolean&nbsp;isLocallyClosedOrDetached()</pre>
<div class="block">Returns true if this <a href="Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a> is currently locally detached or locally closed meaning the
state returned from <a href="#getState()"><code>getState()</code></a> is equal to <a href="LinkState.html#DETACHED"><code>LinkState.DETACHED</code></a> or
<a href="LinkState.html#CLOSED"><code>LinkState.CLOSED</code></a>. A link is locally detached after a call to <a href="#detach()"><code>detach()</code></a> and
is locally closed after a call to <a href="Endpoint.html#close()"><code>Endpoint.close()</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the link is locally closed or detached.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="Endpoint.html#isLocallyOpen()"><code>Endpoint.isLocallyOpen()</code></a>,
<a href="#isLocallyDetached()"><code>isLocallyDetached()</code></a>,
<a href="Endpoint.html#isLocallyClosed()"><code>Endpoint.isLocallyClosed()</code></a></dd>
</dl>
</li>
</ul>
<a id="getState()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getState</h4>
<pre class="methodSignature"><a href="LinkState.html" title="enum in org.apache.qpid.protonj2.engine">LinkState</a>&nbsp;getState()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the local link state</dd>
</dl>
</li>
</ul>
<a id="getCredit()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCredit</h4>
<pre class="methodSignature">int&nbsp;getCredit()</pre>
<div class="block">Get the credit that is currently available or assigned to this link.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the current link credit.</dd>
</dl>
</li>
</ul>
<a id="isDraining()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDraining</h4>
<pre class="methodSignature">boolean&nbsp;isDraining()</pre>
<div class="block">Indicates if the link is draining. For a <a href="Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a> link this indicates that the
remote has requested that the Sender transmit deliveries up to the currently available
credit or indicate that it has no more to send. For a <a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine"><code>Receiver</code></a> this indicates
that the Receiver has requested that the Sender consume its outstanding credit.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the <a href="Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a> is currently marked as draining.</dd>
</dl>
</li>
</ul>
<a id="getRole()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRole</h4>
<pre class="methodSignature"><a href="../types/transport/Role.html" title="enum in org.apache.qpid.protonj2.types.transport">Role</a>&nbsp;getRole()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="../types/transport/Role.html" title="enum in org.apache.qpid.protonj2.types.transport"><code>Role</code></a> that this end of the link is performing.</dd>
</dl>
</li>
</ul>
<a id="isSender()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSender</h4>
<pre class="methodSignature">boolean&nbsp;isSender()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this link is acting in a sender <a href="../types/transport/Role.html" title="enum in org.apache.qpid.protonj2.types.transport"><code>Role</code></a>.</dd>
</dl>
</li>
</ul>
<a id="isReceiver()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isReceiver</h4>
<pre class="methodSignature">boolean&nbsp;isReceiver()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this link is acting in a receiver <a href="../types/transport/Role.html" title="enum in org.apache.qpid.protonj2.types.transport"><code>Role</code></a>.</dd>
</dl>
</li>
</ul>
<a id="getConnection()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConnection</h4>
<pre class="methodSignature"><a href="Connection.html" title="interface in org.apache.qpid.protonj2.engine">Connection</a>&nbsp;getConnection()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the parent <a href="Connection.html" title="interface in org.apache.qpid.protonj2.engine"><code>Connection</code></a> for the <a href="Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a></dd>
</dl>
</li>
</ul>
<a id="getSession()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSession</h4>
<pre class="methodSignature"><a href="Session.html" title="interface in org.apache.qpid.protonj2.engine">Session</a>&nbsp;getSession()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the parent <a href="Session.html" title="interface in org.apache.qpid.protonj2.engine"><code>Session</code></a> of the <a href="Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a></dd>
</dl>
</li>
</ul>
<a id="getParent()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getParent</h4>
<pre class="methodSignature"><a href="Session.html" title="interface in org.apache.qpid.protonj2.engine">Session</a>&nbsp;getParent()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="Endpoint.html#getParent()">Endpoint</a></code></span></div>
<div class="block">Gets the parent of this <a href="Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> which can be itself for <a href="Connection.html" title="interface in org.apache.qpid.protonj2.engine"><code>Connection</code></a> instance.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="Endpoint.html#getParent()">getParent</a></code>&nbsp;in interface&nbsp;<code><a href="Endpoint.html" title="interface in org.apache.qpid.protonj2.engine">Endpoint</a>&lt;<a href="Link.html" title="type parameter in Link">L</a> extends <a href="Link.html" title="interface in org.apache.qpid.protonj2.engine">Link</a>&lt;<a href="Link.html" title="type parameter in Link">L</a>&gt;&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the parent <a href="Session.html" title="interface in org.apache.qpid.protonj2.engine"><code>Session</code></a> of the <a href="Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a></dd>
</dl>
</li>
</ul>
<a id="getName()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getName</h4>
<pre class="methodSignature"><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;getName()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the link name that is assigned to this <a href="Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a></dd>
</dl>
</li>
</ul>
<a id="setSenderSettleMode(org.apache.qpid.protonj2.types.transport.SenderSettleMode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSenderSettleMode</h4>
<pre class="methodSignature"><a href="Link.html" title="type parameter in Link">L</a>&nbsp;setSenderSettleMode&#8203;(<a href="../types/transport/SenderSettleMode.html" title="enum in org.apache.qpid.protonj2.types.transport">SenderSettleMode</a>&nbsp;senderSettleMode)
throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang" class="externalLink">IllegalStateException</a></pre>
<div class="block">Sets the sender settle mode.
<p>
Should only be called during link set-up, i.e. before calling <a href="Endpoint.html#open()"><code>Endpoint.open()</code></a>. If this endpoint is the
initiator of the link, this method can be used to set a value other than the default.
<p>
If this endpoint is not the initiator, this method should be used to set a local value. According
to the AMQP spec, the application may choose to accept the sender's suggestion
(accessed by calling <a href="#getRemoteSenderSettleMode()"><code>getRemoteSenderSettleMode()</code></a>) or choose another value. The value
has no effect on Proton, but may be useful to the application at a later point.
<p>
In order to be AMQP compliant the application is responsible for honoring the settlement mode. See <a href="Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>senderSettleMode</code> - The <a href="../types/transport/SenderSettleMode.html" title="enum in org.apache.qpid.protonj2.types.transport"><code>SenderSettleMode</code></a> that will be set on the local end of this link.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this Link.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang" class="externalLink">IllegalStateException</a></code> - if the <a href="Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a> has already been opened.</dd>
</dl>
</li>
</ul>
<a id="getSenderSettleMode()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSenderSettleMode</h4>
<pre class="methodSignature"><a href="../types/transport/SenderSettleMode.html" title="enum in org.apache.qpid.protonj2.types.transport">SenderSettleMode</a>&nbsp;getSenderSettleMode()</pre>
<div class="block">Gets the local link sender settlement mode.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the local sender settlement mode, or null if none was set.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#setSenderSettleMode(org.apache.qpid.protonj2.types.transport.SenderSettleMode)"><code>setSenderSettleMode(SenderSettleMode)</code></a></dd>
</dl>
</li>
</ul>
<a id="setReceiverSettleMode(org.apache.qpid.protonj2.types.transport.ReceiverSettleMode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setReceiverSettleMode</h4>
<pre class="methodSignature"><a href="Link.html" title="type parameter in Link">L</a>&nbsp;setReceiverSettleMode&#8203;(<a href="../types/transport/ReceiverSettleMode.html" title="enum in org.apache.qpid.protonj2.types.transport">ReceiverSettleMode</a>&nbsp;receiverSettleMode)
throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang" class="externalLink">IllegalStateException</a></pre>
<div class="block">Sets the receiver settle mode.
<p>
Should only be called during link set-up, i.e. before calling <a href="Endpoint.html#open()"><code>Endpoint.open()</code></a>. If this endpoint
is the initiator of the link, this method can be used to set a value other than the default.
Used in analogous way to <a href="#setSenderSettleMode(org.apache.qpid.protonj2.types.transport.SenderSettleMode)"><code>setSenderSettleMode(SenderSettleMode)</code></a></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>receiverSettleMode</code> - The <a href="../types/transport/ReceiverSettleMode.html" title="enum in org.apache.qpid.protonj2.types.transport"><code>ReceiverSettleMode</code></a> that will be set on the local end of this link.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this Link.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang" class="externalLink">IllegalStateException</a></code> - if the <a href="Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a> has already been opened.</dd>
</dl>
</li>
</ul>
<a id="getReceiverSettleMode()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReceiverSettleMode</h4>
<pre class="methodSignature"><a href="../types/transport/ReceiverSettleMode.html" title="enum in org.apache.qpid.protonj2.types.transport">ReceiverSettleMode</a>&nbsp;getReceiverSettleMode()</pre>
<div class="block">Gets the local link receiver settlement mode.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the local receiver settlement mode, or null if none was set.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#setReceiverSettleMode(org.apache.qpid.protonj2.types.transport.ReceiverSettleMode)"><code>setReceiverSettleMode(ReceiverSettleMode)</code></a></dd>
</dl>
</li>
</ul>
<a id="setSource(org.apache.qpid.protonj2.types.messaging.Source)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSource</h4>
<pre class="methodSignature"><a href="Link.html" title="type parameter in Link">L</a>&nbsp;setSource&#8203;(<a href="../types/messaging/Source.html" title="class in org.apache.qpid.protonj2.types.messaging">Source</a>&nbsp;source)
throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang" class="externalLink">IllegalStateException</a></pre>
<div class="block">Sets the <a href="../types/messaging/Source.html" title="class in org.apache.qpid.protonj2.types.messaging"><code>Source</code></a> to assign to the local end of this <a href="Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a>.
<p>
Must be called during link setup, i.e. before calling the <a href="Endpoint.html#open()"><code>Endpoint.open()</code></a> method.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>source</code> - The <a href="../types/messaging/Source.html" title="class in org.apache.qpid.protonj2.types.messaging"><code>Source</code></a> that will be set on the local end of this link.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this Link.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang" class="externalLink">IllegalStateException</a></code> - if the <a href="Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a> has already been opened.</dd>
</dl>
</li>
</ul>
<a id="getSource()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSource</h4>
<pre class="methodSignature"><a href="../types/messaging/Source.html" title="class in org.apache.qpid.protonj2.types.messaging">Source</a>&nbsp;getSource()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="../types/messaging/Source.html" title="class in org.apache.qpid.protonj2.types.messaging"><code>Source</code></a> for the local end of this link.</dd>
</dl>
</li>
</ul>
<a id="setTarget(org.apache.qpid.protonj2.types.messaging.Target)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setTarget</h4>
<pre class="methodSignature"><a href="Link.html" title="type parameter in Link">L</a>&nbsp;setTarget&#8203;(<a href="../types/messaging/Target.html" title="class in org.apache.qpid.protonj2.types.messaging">Target</a>&nbsp;target)
throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang" class="externalLink">IllegalStateException</a></pre>
<div class="block">Sets the <a href="../types/messaging/Target.html" title="class in org.apache.qpid.protonj2.types.messaging"><code>Target</code></a> to assign to the local end of this <a href="Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a>.
Must be called during link setup, i.e. before calling the <a href="Endpoint.html#open()"><code>Endpoint.open()</code></a> method.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>target</code> - The <a href="../types/messaging/Target.html" title="class in org.apache.qpid.protonj2.types.messaging"><code>Target</code></a> that will be set on the local end of this link.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this Link.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang" class="externalLink">IllegalStateException</a></code> - if the <a href="Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a> has already been opened.</dd>
</dl>
</li>
</ul>
<a id="setTarget(org.apache.qpid.protonj2.types.transactions.Coordinator)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setTarget</h4>
<pre class="methodSignature"><a href="Link.html" title="type parameter in Link">L</a>&nbsp;setTarget&#8203;(<a href="../types/transactions/Coordinator.html" title="class in org.apache.qpid.protonj2.types.transactions">Coordinator</a>&nbsp;coordinator)
throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang" class="externalLink">IllegalStateException</a></pre>
<div class="block">Sets the <a href="../types/transactions/Coordinator.html" title="class in org.apache.qpid.protonj2.types.transactions"><code>Coordinator</code></a> target to assign to the local end of this <a href="Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a>.
<p>
Must be called during link setup, i.e. before calling the <a href="Endpoint.html#open()"><code>Endpoint.open()</code></a> method.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>coordinator</code> - The <a href="../types/transactions/Coordinator.html" title="class in org.apache.qpid.protonj2.types.transactions"><code>Coordinator</code></a> target that will be set on the local end of this link.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this Link.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang" class="externalLink">IllegalStateException</a></code> - if the <a href="Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a> has already been opened.</dd>
</dl>
</li>
</ul>
<a id="getTarget()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTarget</h4>
<pre class="methodSignature">&lt;T extends <a href="../types/messaging/Terminus.html" title="interface in org.apache.qpid.protonj2.types.messaging">Terminus</a>&gt;&nbsp;T&nbsp;getTarget()</pre>
<div class="block">Returns the currently set Target for this <a href="Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a>. A link target can be either
a <a href="../types/messaging/Target.html" title="class in org.apache.qpid.protonj2.types.messaging"><code>Target</code></a> type for a <a href="Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a> or <a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine"><code>Receiver</code></a> link or if the link is
to be transaction resource then the target type will be a <a href="../types/transactions/Coordinator.html" title="class in org.apache.qpid.protonj2.types.transactions"><code>Coordinator</code></a> instance.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - The terminus type that the target should be cast to on return.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the link target <a href="../types/messaging/Terminus.html" title="interface in org.apache.qpid.protonj2.types.messaging"><code>Terminus</code></a> for the local end of this link.</dd>
</dl>
</li>
</ul>
<a id="setMaxMessageSize(org.apache.qpid.protonj2.types.UnsignedLong)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMaxMessageSize</h4>
<pre class="methodSignature"><a href="Link.html" title="type parameter in Link">L</a>&nbsp;setMaxMessageSize&#8203;(<a href="../types/UnsignedLong.html" title="class in org.apache.qpid.protonj2.types">UnsignedLong</a>&nbsp;maxMessageSize)
throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang" class="externalLink">IllegalStateException</a></pre>
<div class="block">Sets the local link max message size, to be conveyed to the peer via the Attach frame
when attaching the link to the session. Null or 0 means no limit.
<p>
Must be called during link setup, i.e. before calling the <a href="Endpoint.html#open()"><code>Endpoint.open()</code></a> method.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>maxMessageSize</code> - the local max message size value, or null to clear. 0 also means no limit.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this Link.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang" class="externalLink">IllegalStateException</a></code> - if the <a href="Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a> has already been opened.</dd>
</dl>
</li>
</ul>
<a id="getMaxMessageSize()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxMessageSize</h4>
<pre class="methodSignature"><a href="../types/UnsignedLong.html" title="class in org.apache.qpid.protonj2.types">UnsignedLong</a>&nbsp;getMaxMessageSize()</pre>
<div class="block">Gets the local link max message size.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the local max message size, or null if none was set. 0 also means no limit.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#setMaxMessageSize(org.apache.qpid.protonj2.types.UnsignedLong)"><code>setMaxMessageSize(UnsignedLong)</code></a></dd>
</dl>
</li>
</ul>
<a id="isRemotelyOpen()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isRemotelyOpen</h4>
<pre class="methodSignature">boolean&nbsp;isRemotelyOpen()</pre>
<div class="block">Returns true if this <a href="Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a> is currently remotely open meaning the state returned
from <a href="#getRemoteState()"><code>getRemoteState()</code></a> is equal to <a href="LinkState.html#ACTIVE"><code>LinkState.ACTIVE</code></a>. A link
is remotely opened after an <a href="../types/transport/Attach.html" title="class in org.apache.qpid.protonj2.types.transport"><code>Attach</code></a> has been received from the remote and before a
<a href="../types/transport/Detach.html" title="class in org.apache.qpid.protonj2.types.transport"><code>Detach</code></a> has been received from the remote.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="Endpoint.html#isRemotelyOpen()">isRemotelyOpen</a></code>&nbsp;in interface&nbsp;<code><a href="Endpoint.html" title="interface in org.apache.qpid.protonj2.engine">Endpoint</a>&lt;<a href="Link.html" title="type parameter in Link">L</a> extends <a href="Link.html" title="interface in org.apache.qpid.protonj2.engine">Link</a>&lt;<a href="Link.html" title="type parameter in Link">L</a>&gt;&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the link is remotely open.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#isRemotelyClosed()"><code>isRemotelyClosed()</code></a>,
<a href="#isRemotelyDetached()"><code>isRemotelyDetached()</code></a></dd>
</dl>
</li>
</ul>
<a id="isRemotelyClosed()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isRemotelyClosed</h4>
<pre class="methodSignature">boolean&nbsp;isRemotelyClosed()</pre>
<div class="block">Returns true if this <a href="Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a> is currently remotely closed meaning the state returned
from <a href="#getRemoteState()"><code>getRemoteState()</code></a> is equal to <a href="LinkState.html#CLOSED"><code>LinkState.CLOSED</code></a>. A link
is remotely closed after an <a href="../types/transport/Detach.html" title="class in org.apache.qpid.protonj2.types.transport"><code>Detach</code></a> has been received from the remote with the close
flag equal to true.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="Endpoint.html#isRemotelyClosed()">isRemotelyClosed</a></code>&nbsp;in interface&nbsp;<code><a href="Endpoint.html" title="interface in org.apache.qpid.protonj2.engine">Endpoint</a>&lt;<a href="Link.html" title="type parameter in Link">L</a> extends <a href="Link.html" title="interface in org.apache.qpid.protonj2.engine">Link</a>&lt;<a href="Link.html" title="type parameter in Link">L</a>&gt;&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the link is remotely closed.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#isRemotelyOpen()"><code>isRemotelyOpen()</code></a>,
<a href="#isRemotelyDetached()"><code>isRemotelyDetached()</code></a></dd>
</dl>
</li>
</ul>
<a id="isRemotelyDetached()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isRemotelyDetached</h4>
<pre class="methodSignature">boolean&nbsp;isRemotelyDetached()</pre>
<div class="block">Returns true if this <a href="Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a> is currently remotely detached meaning the state returned
from <a href="#getRemoteState()"><code>getRemoteState()</code></a> is equal to <a href="LinkState.html#DETACHED"><code>LinkState.DETACHED</code></a>. A link
is remotely detached after an <a href="../types/transport/Detach.html" title="class in org.apache.qpid.protonj2.types.transport"><code>Detach</code></a> has been received from the remote with the close
flag equal to false.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the link is remotely detached.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#isRemotelyOpen()"><code>isRemotelyOpen()</code></a>,
<a href="#isRemotelyClosed()"><code>isRemotelyClosed()</code></a></dd>
</dl>
</li>
</ul>
<a id="isRemotelyClosedOrDetached()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isRemotelyClosedOrDetached</h4>
<pre class="methodSignature">boolean&nbsp;isRemotelyClosedOrDetached()</pre>
<div class="block">Returns true if this <a href="Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a> is currently remotely detached or closed meaning the state
returned from <a href="#getRemoteState()"><code>getRemoteState()</code></a> is equal to <a href="LinkState.html#DETACHED"><code>LinkState.DETACHED</code></a> or
<a href="LinkState.html#CLOSED"><code>LinkState.CLOSED</code></a>. A link is remotely detached or closed after a <a href="../types/transport/Detach.html" title="class in org.apache.qpid.protonj2.types.transport"><code>Detach</code></a>
has been received from the remote.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the link is remotely detached or closed.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#isRemotelyOpen()"><code>isRemotelyOpen()</code></a>,
<a href="#isRemotelyClosed()"><code>isRemotelyClosed()</code></a>,
<a href="#isRemotelyDetached()"><code>isRemotelyDetached()</code></a></dd>
</dl>
</li>
</ul>
<a id="getRemoteSource()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRemoteSource</h4>
<pre class="methodSignature"><a href="../types/messaging/Source.html" title="class in org.apache.qpid.protonj2.types.messaging">Source</a>&nbsp;getRemoteSource()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the source <a href="../types/messaging/Terminus.html" title="interface in org.apache.qpid.protonj2.types.messaging"><code>Terminus</code></a> for the remote end of this link.</dd>
</dl>
</li>
</ul>
<a id="getRemoteTarget()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRemoteTarget</h4>
<pre class="methodSignature">&lt;T extends <a href="../types/messaging/Terminus.html" title="interface in org.apache.qpid.protonj2.types.messaging">Terminus</a>&gt;&nbsp;T&nbsp;getRemoteTarget()</pre>
<div class="block">Returns the remote target <a href="../types/messaging/Terminus.html" title="interface in org.apache.qpid.protonj2.types.messaging"><code>Terminus</code></a> cast to the given type. This can be used when
the underlying type is known by the caller or as a control to validate the assumption of the
underlying type.
<p>
the currently set Target for this <a href="Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a>. A link target can be either a <a href="../types/messaging/Target.html" title="class in org.apache.qpid.protonj2.types.messaging"><code>Target</code></a>
type for a <a href="Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a> or <a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine"><code>Receiver</code></a> link or if the link is to be transaction resource
then the target type will be a <a href="../types/transactions/Coordinator.html" title="class in org.apache.qpid.protonj2.types.transactions"><code>Coordinator</code></a> instance.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - The type that the remote <a href="../types/messaging/Terminus.html" title="interface in org.apache.qpid.protonj2.types.messaging"><code>Terminus</code></a> will be cast to on return.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the source <a href="../types/messaging/Terminus.html" title="interface in org.apache.qpid.protonj2.types.messaging"><code>Terminus</code></a> for the remote end of this link.</dd>
</dl>
</li>
</ul>
<a id="getRemoteSenderSettleMode()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRemoteSenderSettleMode</h4>
<pre class="methodSignature"><a href="../types/transport/SenderSettleMode.html" title="enum in org.apache.qpid.protonj2.types.transport">SenderSettleMode</a>&nbsp;getRemoteSenderSettleMode()</pre>
<div class="block">Gets the remote link sender settlement mode, as conveyed from the peer via the Attach frame
when attaching the link to the session.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the sender settlement mode conveyed by the peer, or null if there was none.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#setSenderSettleMode(org.apache.qpid.protonj2.types.transport.SenderSettleMode)"><code>setSenderSettleMode(SenderSettleMode)</code></a></dd>
</dl>
</li>
</ul>
<a id="getRemoteReceiverSettleMode()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRemoteReceiverSettleMode</h4>
<pre class="methodSignature"><a href="../types/transport/ReceiverSettleMode.html" title="enum in org.apache.qpid.protonj2.types.transport">ReceiverSettleMode</a>&nbsp;getRemoteReceiverSettleMode()</pre>
<div class="block">Gets the remote link receiver settlement mode, as conveyed from the peer via the Attach frame
when attaching the link to the session.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the sender receiver mode conveyed by the peer, or null if there was none.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#setReceiverSettleMode(org.apache.qpid.protonj2.types.transport.ReceiverSettleMode)"><code>setReceiverSettleMode(ReceiverSettleMode)</code></a></dd>
</dl>
</li>
</ul>
<a id="getRemoteMaxMessageSize()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRemoteMaxMessageSize</h4>
<pre class="methodSignature"><a href="../types/UnsignedLong.html" title="class in org.apache.qpid.protonj2.types">UnsignedLong</a>&nbsp;getRemoteMaxMessageSize()</pre>
<div class="block">Gets the remote link max message size, as conveyed from the peer via the Attach frame
when attaching the link to the session.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the remote max message size conveyed by the peer, or null if none was set. 0 also means no limit.</dd>
</dl>
</li>
</ul>
<a id="getRemoteState()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRemoteState</h4>
<pre class="methodSignature"><a href="LinkState.html" title="enum in org.apache.qpid.protonj2.engine">LinkState</a>&nbsp;getRemoteState()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the remote link state (as last communicated)</dd>
</dl>
</li>
</ul>
<a id="localDetachHandler(org.apache.qpid.protonj2.engine.EventHandler)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>localDetachHandler</h4>
<pre class="methodSignature"><a href="Link.html" title="type parameter in Link">L</a>&nbsp;localDetachHandler&#8203;(<a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="Link.html" title="type parameter in Link">L</a>&gt;&nbsp;localDetachHandler)</pre>
<div class="block">Sets a <a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine"><code>EventHandler</code></a> for when an this link is detached locally via a call to <a href="#detach()"><code>detach()</code></a>
This is a convenience event that supplements the normal <a href="Endpoint.html#localCloseHandler(org.apache.qpid.protonj2.engine.EventHandler)"><code>Endpoint.localCloseHandler(EventHandler)</code></a>
event point if set. If no local detached event handler is set the endpoint will route the detached event
to the local closed event handler if set and allow it to process the event in one location.
<p>
Typically used by clients for logging or other state update event processing. Clients should not perform any
blocking calls within this context. It is an error for the handler to throw an exception and the outcome of
doing so is undefined.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>localDetachHandler</code> - The <a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine"><code>EventHandler</code></a> to notify when this link is locally detached.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the link for chaining.</dd>
</dl>
</li>
</ul>
<a id="detachHandler(org.apache.qpid.protonj2.engine.EventHandler)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>detachHandler</h4>
<pre class="methodSignature"><a href="Link.html" title="type parameter in Link">L</a>&nbsp;detachHandler&#8203;(<a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="Link.html" title="type parameter in Link">L</a>&gt;&nbsp;remoteDetachHandler)</pre>
<div class="block">Sets a <a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine"><code>EventHandler</code></a> for when an AMQP Detach frame is received from the remote peer for this
<a href="Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a> which would have been locally opened previously, the Detach from would have been marked
as not having been closed.
<p>
This is a convenience event that supplements the normal <a href="Endpoint.html#closeHandler(org.apache.qpid.protonj2.engine.EventHandler)"><code>Endpoint.closeHandler(EventHandler)</code></a>
event point if set. If no detached event handler is set the endpoint will route the detached event to the
closed event handler if set and allow it to process the event in one location.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>remoteDetachHandler</code> - The <a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine"><code>EventHandler</code></a> to notify when this link is remotely closed.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a> for chaining.</dd>
</dl>
</li>
</ul>
<a id="creditStateUpdateHandler(org.apache.qpid.protonj2.engine.EventHandler)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>creditStateUpdateHandler</h4>
<pre class="methodSignature"><a href="Link.html" title="type parameter in Link">L</a>&nbsp;creditStateUpdateHandler&#8203;(<a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="Link.html" title="type parameter in Link">L</a>&gt;&nbsp;handler)</pre>
<div class="block">Handler for link credit updates that occur after a remote <a href="../types/transport/Flow.html" title="class in org.apache.qpid.protonj2.types.transport"><code>Flow</code></a> arrives.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>handler</code> - An event handler that will be signaled when the link credit is updated by a remote flow.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a> for chaining.</dd>
</dl>
</li>
</ul>
<a id="parentEndpointClosedHandler(org.apache.qpid.protonj2.engine.EventHandler)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>parentEndpointClosedHandler</h4>
<pre class="methodSignature"><a href="Link.html" title="type parameter in Link">L</a>&nbsp;parentEndpointClosedHandler&#8203;(<a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="Link.html" title="type parameter in Link">L</a>&gt;&nbsp;handler)</pre>
<div class="block">Sets a <a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine"><code>EventHandler</code></a> for when the parent <a href="Session.html" title="interface in org.apache.qpid.protonj2.engine"><code>Session</code></a> or <a href="Connection.html" title="interface in org.apache.qpid.protonj2.engine"><code>Connection</code></a> of this link is
locally closed.
<p>
Typically used by clients for logging or other state update event processing. Clients should not perform any
blocking calls within this context. It is an error for the handler to throw an exception and the outcome of
doing so is undefined.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>handler</code> - The <a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine"><code>EventHandler</code></a> to notify when this link's parent Session is locally closed.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the link for chaining.</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/Link.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>Field&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>Field&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>