<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>Connection (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="Connection (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};
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/Connection.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 Connection" class="title">Interface Connection</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><code><a href="Endpoint.html" title="interface in org.apache.qpid.protonj2.engine">Endpoint</a>&lt;<a href="Connection.html" title="interface in org.apache.qpid.protonj2.engine">Connection</a>&gt;</code></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="impl/ProtonConnection.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonConnection</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">Connection</span>
extends <a href="Endpoint.html" title="interface in org.apache.qpid.protonj2.engine">Endpoint</a>&lt;<a href="Connection.html" title="interface in org.apache.qpid.protonj2.engine">Connection</a>&gt;</pre>
<div class="block">AMQP Connection state container</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>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getChannelMax()">getChannelMax</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i1" 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="#getContainerId()">getContainerId</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i2" 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="#getHostname()">getHostname</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getIdleTimeout()">getIdleTimeout</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMaxFrameSize()">getMaxFrameSize</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i5" 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="#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="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="#getRemoteContainerId()">getRemoteContainerId</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i7" 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="#getRemoteHostname()">getRemoteHostname</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRemoteIdleTimeout()">getRemoteIdleTimeout</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRemoteMaxFrameSize()">getRemoteMaxFrameSize</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="ConnectionState.html" title="enum in org.apache.qpid.protonj2.engine">ConnectionState</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="i11" class="rowColor">
<td class="colFirst"><code><a href="ConnectionState.html" title="enum in org.apache.qpid.protonj2.engine">ConnectionState</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="i12" class="altColor">
<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="#negotiate()">negotiate</a></span>()</code></th>
<td class="colLast">
<div class="block">If not already negotiated this method initiates the AMQP protocol negotiation phase of
 the connection process sending the <a href="../types/transport/AMQPHeader.html" title="class in org.apache.qpid.protonj2.types.transport"><code>AMQPHeader</code></a> to the remote peer.</div>
</td>
</tr>
<tr id="i13" 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="#negotiate(org.apache.qpid.protonj2.engine.EventHandler)">negotiate</a></span>&#8203;(<a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="../types/transport/AMQPHeader.html" title="class in org.apache.qpid.protonj2.types.transport">AMQPHeader</a>&gt;&nbsp;remoteAMQPHeaderHandler)</code></th>
<td class="colLast">
<div class="block">If not already negotiated this method initiates the AMQP protocol negotiation phase of
 the connection process sending the <a href="../types/transport/AMQPHeader.html" title="class in org.apache.qpid.protonj2.types.transport"><code>AMQPHeader</code></a> to the remote peer.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<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="#receiverOpenHandler(org.apache.qpid.protonj2.engine.EventHandler)">receiverOpenHandler</a></span>&#8203;(<a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine">Receiver</a>&gt;&nbsp;remoteReceiverOpenEventHandler)</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 Attach frame is received from the remote peer for a receiving link.</div>
</td>
</tr>
<tr id="i15" 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="#senderOpenHandler(org.apache.qpid.protonj2.engine.EventHandler)">senderOpenHandler</a></span>&#8203;(<a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a>&gt;&nbsp;remoteSenderOpenEventHandler)</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 Attach frame is received from the remote peer for a sending link.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<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="#session()">session</a></span>()</code></th>
<td class="colLast">
<div class="block">Creates a new Session linked to this Connection</div>
</td>
</tr>
<tr id="i17" 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="#sessionOpenHandler(org.apache.qpid.protonj2.engine.EventHandler)">sessionOpenHandler</a></span>&#8203;(<a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="Session.html" title="interface in org.apache.qpid.protonj2.engine">Session</a>&gt;&nbsp;remoteSessionOpenEventHandler)</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 Begin frame is received from the remote peer.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a>&lt;<a href="Session.html" title="interface in org.apache.qpid.protonj2.engine">Session</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sessions()">sessions</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns an unmodifiable <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink"><code>Set</code></a> of Sessions that are tracked by the Connection.</div>
</td>
</tr>
<tr id="i19" 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="#setChannelMax(int)">setChannelMax</a></span>&#8203;(int&nbsp;channelMax)</code></th>
<td class="colLast">
<div class="block">Set the channel max value for this Connection.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<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="#setContainerId(java.lang.String)">setContainerId</a></span>&#8203;(<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;containerId)</code></th>
<td class="colLast">
<div class="block">Sets the Container Id to be used when opening this Connection.</div>
</td>
</tr>
<tr id="i21" 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="#setHostname(java.lang.String)">setHostname</a></span>&#8203;(<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;hostname)</code></th>
<td class="colLast">
<div class="block">Set the name of the host (either fully qualified or relative) to which this
 connection is connecting to.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<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="#setIdleTimeout(long)">setIdleTimeout</a></span>&#8203;(long&nbsp;idleTimeout)</code></th>
<td class="colLast">
<div class="block">Set the idle timeout value for this Connection.</div>
</td>
</tr>
<tr id="i23" 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="#setMaxFrameSize(long)">setMaxFrameSize</a></span>&#8203;(long&nbsp;maxFrameSize)</code></th>
<td class="colLast">
<div class="block">Sets the maximum frame size allowed for this connection, which is the largest single frame
 that the remote can send to this <a href="Connection.html" title="interface in org.apache.qpid.protonj2.engine"><code>Connection</code></a> before it will close the connection with
 an error condition indicating the violation.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#tick(long)">tick</a></span>&#8203;(long&nbsp;current)</code></th>
<td class="colLast">
<div class="block">Performs a tick operation on the connection which checks that Connection Idle timeout processing
 is run.</div>
</td>
</tr>
<tr id="i25" 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="#tickAuto(java.util.concurrent.ScheduledExecutorService)">tickAuto</a></span>&#8203;(<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>&nbsp;executor)</code></th>
<td class="colLast">
<div class="block">Convenience method which is the same as calling <a href="Engine.html#tickAuto(java.util.concurrent.ScheduledExecutorService)"><code>Engine.tickAuto(ScheduledExecutorService)</code></a>.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<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="#transactionManagerOpenHandler(org.apache.qpid.protonj2.engine.EventHandler)">transactionManagerOpenHandler</a></span>&#8203;(<a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="TransactionManager.html" title="interface in org.apache.qpid.protonj2.engine">TransactionManager</a>&gt;&nbsp;remoteTxnManagerOpenEventHandler)</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 Attach frame is received from the remote peer for a transaction
 coordination link.</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#isRemotelyClosed()">isRemotelyClosed</a>, <a href="Endpoint.html#isRemotelyOpen()">isRemotelyOpen</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="negotiate()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>negotiate</h4>
<pre class="methodSignature"><a href="Connection.html" title="interface in org.apache.qpid.protonj2.engine">Connection</a>&nbsp;negotiate()
              throws <a href="exceptions/EngineStateException.html" title="class in org.apache.qpid.protonj2.engine.exceptions">EngineStateException</a></pre>
<div class="block">If not already negotiated this method initiates the AMQP protocol negotiation phase of
 the connection process sending the <a href="../types/transport/AMQPHeader.html" title="class in org.apache.qpid.protonj2.types.transport"><code>AMQPHeader</code></a> to the remote peer.  For a client
 application this could mean requesting the server to indicate if it supports the version
 of the protocol this client speaks.  In rare cases a server could use this to preemptively
 send its AMQP header.

 Once a header is sent the remote should respond with the AMQP Header that indicates what
 protocol level it supports and if there is a mismatch the the engine will be failed with
 a error indicating the protocol support was not successfully negotiated.

 If the engine has a configured SASL layer then by starting the AMQP Header exchange this
 will implicitly first attempt the SASL authentication step of the connection process.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <a href="Connection.html" title="interface in org.apache.qpid.protonj2.engine"><code>Connection</code></a> instance.</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 the Engine state precludes accepting new input.</dd>
</dl>
</li>
</ul>
<a id="negotiate(org.apache.qpid.protonj2.engine.EventHandler)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>negotiate</h4>
<pre class="methodSignature"><a href="Connection.html" title="interface in org.apache.qpid.protonj2.engine">Connection</a>&nbsp;negotiate&#8203;(<a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="../types/transport/AMQPHeader.html" title="class in org.apache.qpid.protonj2.types.transport">AMQPHeader</a>&gt;&nbsp;remoteAMQPHeaderHandler)
              throws <a href="exceptions/EngineStateException.html" title="class in org.apache.qpid.protonj2.engine.exceptions">EngineStateException</a></pre>
<div class="block">If not already negotiated this method initiates the AMQP protocol negotiation phase of
 the connection process sending the <a href="../types/transport/AMQPHeader.html" title="class in org.apache.qpid.protonj2.types.transport"><code>AMQPHeader</code></a> to the remote peer.  For a client
 application this could mean requesting the server to indicate if it supports the version
 of the protocol this client speaks.  In rare cases a server could use this to preemptively
 send its AMQP header.

 Once a header is sent the remote should respond with the AMQP Header that indicates what
 protocol level it supports and if there is a mismatch the the engine will be failed with
 a error indicating the protocol support was not successfully negotiated.

 If the engine has a configured SASL layer then by starting the AMQP Header exchange this
 will implicitly first attempt the SASL authentication step of the connection process.

 The provided remote AMQP Header handler will be called once the remote sends its AMQP Header to
 the either preemptively or as a response to offered AMQP Header from this peer, even if that has
 already happened prior to this call.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>remoteAMQPHeaderHandler</code> - Handler to be called when an AMQP Header response has arrived.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <a href="Connection.html" title="interface in org.apache.qpid.protonj2.engine"><code>Connection</code></a> instance.</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 the Engine state precludes accepting new input.</dd>
</dl>
</li>
</ul>
<a id="tick(long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>tick</h4>
<pre class="methodSignature">long&nbsp;tick&#8203;(long&nbsp;current)
   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>,
          <a href="exceptions/EngineStateException.html" title="class in org.apache.qpid.protonj2.engine.exceptions">EngineStateException</a></pre>
<div class="block">Performs a tick operation on the connection which checks that Connection Idle timeout processing
 is run.  This method is a convenience method that delegates the work to the <a href="Engine.html#tick(long)"><code>Engine.tick(long)</code></a>
 method.

 It is an error to call this method if <a href="#tickAuto(java.util.concurrent.ScheduledExecutorService)"><code>tickAuto(ScheduledExecutorService)</code></a> was called.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>current</code> - Current time value usually taken from <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/System.html?is-external=true#nanoTime()" title="class or interface in java.lang" class="externalLink"><code>System.nanoTime()</code></a></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the absolute deadline in milliseconds to next call tick by/at, or 0 if there is none.</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="Engine.html" title="interface in org.apache.qpid.protonj2.engine"><code>Engine</code></a> is already performing auto tick handling.</dd>
<dd><code><a href="exceptions/EngineStateException.html" title="class in org.apache.qpid.protonj2.engine.exceptions">EngineStateException</a></code> - if the Engine state precludes accepting new input.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="Engine.html#tick(long)"><code>Engine.tick(long)</code></a></dd>
</dl>
</li>
</ul>
<a id="tickAuto(java.util.concurrent.ScheduledExecutorService)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>tickAuto</h4>
<pre class="methodSignature"><a href="Connection.html" title="interface in org.apache.qpid.protonj2.engine">Connection</a>&nbsp;tickAuto&#8203;(<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>&nbsp;executor)</pre>
<div class="block">Convenience method which is the same as calling <a href="Engine.html#tickAuto(java.util.concurrent.ScheduledExecutorService)"><code>Engine.tickAuto(ScheduledExecutorService)</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>executor</code> - The single threaded execution context where all engine work takes place.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <a href="Connection.html" title="interface in org.apache.qpid.protonj2.engine"><code>Connection</code></a> instance.</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="Engine.html" title="interface in org.apache.qpid.protonj2.engine"><code>Engine</code></a> is already performing auto tick handling.</dd>
<dd><code><a href="exceptions/EngineStateException.html" title="class in org.apache.qpid.protonj2.engine.exceptions">EngineStateException</a></code> - if the Engine state precludes accepting new input.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="Engine.html#tickAuto(java.util.concurrent.ScheduledExecutorService)"><code>Engine.tickAuto(ScheduledExecutorService)</code></a></dd>
</dl>
</li>
</ul>
<a id="getState()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getState</h4>
<pre class="methodSignature"><a href="ConnectionState.html" title="enum in org.apache.qpid.protonj2.engine">ConnectionState</a>&nbsp;getState()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the local connection state only</dd>
</dl>
</li>
</ul>
<a id="getParent()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getParent</h4>
<pre class="methodSignature"><a href="Connection.html" title="interface in org.apache.qpid.protonj2.engine">Connection</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="Connection.html" title="interface in org.apache.qpid.protonj2.engine">Connection</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <a href="Connection.html" title="interface in org.apache.qpid.protonj2.engine"><code>Connection</code></a> as it is the root of the <a href="Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> hierarchy.</dd>
</dl>
</li>
</ul>
<a id="getContainerId()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getContainerId</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;getContainerId()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the Container ID assigned to this Connection</dd>
</dl>
</li>
</ul>
<a id="setContainerId(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setContainerId</h4>
<pre class="methodSignature"><a href="Connection.html" title="interface in org.apache.qpid.protonj2.engine">Connection</a>&nbsp;setContainerId&#8203;(<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;containerId)
                   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 Container Id to be used when opening this Connection.  The container Id can only
 be modified prior to a call to <a href="Endpoint.html#open()"><code>Endpoint.open()</code></a>, once the connection has been
 opened locally an error will be thrown if this method is called.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>containerId</code> - The Container Id used for this end of the Connection.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this connection.</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 Connection has already been opened.</dd>
</dl>
</li>
</ul>
<a id="setHostname(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setHostname</h4>
<pre class="methodSignature"><a href="Connection.html" title="interface in org.apache.qpid.protonj2.engine">Connection</a>&nbsp;setHostname&#8203;(<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;hostname)
                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">Set the name of the host (either fully qualified or relative) to which this
 connection is connecting to.  This information may be used by the remote peer
 to determine the correct back-end service to connect the client to. This value
 will be sent in the Open performative.

 <b>Note that it is illegal to set the host name to a numeric IP
 address or include a port number.</b>

 The host name value can only be modified prior to a call to <a href="Endpoint.html#open()"><code>Endpoint.open()</code></a>,
 once the connection has been opened locally an error will be thrown if this method
 is called.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>hostname</code> - the RFC1035 compliant host name.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this connection.</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 Connection has already been opened.</dd>
</dl>
</li>
</ul>
<a id="getHostname()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHostname</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;getHostname()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>returns the host name assigned to this Connection.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#setHostname(java.lang.String)"><code>setHostname(java.lang.String)</code></a></dd>
</dl>
</li>
</ul>
<a id="setChannelMax(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setChannelMax</h4>
<pre class="methodSignature"><a href="Connection.html" title="interface in org.apache.qpid.protonj2.engine">Connection</a>&nbsp;setChannelMax&#8203;(int&nbsp;channelMax)
                  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">Set the channel max value for this Connection.

 The channel max value can only be modified prior to a call to <a href="Endpoint.html#open()"><code>Endpoint.open()</code></a>,
 once the connection has been opened locally an error will be thrown if this method
 is called.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>channelMax</code> - The value to set for channel max when opening the connection.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this connection.</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 Connection has already been opened.</dd>
</dl>
</li>
</ul>
<a id="getChannelMax()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getChannelMax</h4>
<pre class="methodSignature">int&nbsp;getChannelMax()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the currently configured channel max for this <a href="Connection.html" title="interface in org.apache.qpid.protonj2.engine"><code>Connection</code></a></dd>
</dl>
</li>
</ul>
<a id="setMaxFrameSize(long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMaxFrameSize</h4>
<pre class="methodSignature"><a href="Connection.html" title="interface in org.apache.qpid.protonj2.engine">Connection</a>&nbsp;setMaxFrameSize&#8203;(long&nbsp;maxFrameSize)
                    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 maximum frame size allowed for this connection, which is the largest single frame
 that the remote can send to this <a href="Connection.html" title="interface in org.apache.qpid.protonj2.engine"><code>Connection</code></a> before it will close the connection with
 an error condition indicating the violation.

 The legal range for this value is defined as (512 - 2^32-1) bytes.

 The max frame size value can only be modified prior to a call to <a href="Endpoint.html#open()"><code>Endpoint.open()</code></a>,
 once the connection has been opened locally an error will be thrown if this method
 is called.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>maxFrameSize</code> - The maximum number of bytes allowed for a single</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this connection.</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 Connection has already been opened.</dd>
</dl>
</li>
</ul>
<a id="getMaxFrameSize()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxFrameSize</h4>
<pre class="methodSignature">long&nbsp;getMaxFrameSize()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the currently configured max frame size this connection will accept.</dd>
</dl>
</li>
</ul>
<a id="setIdleTimeout(long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setIdleTimeout</h4>
<pre class="methodSignature"><a href="Connection.html" title="interface in org.apache.qpid.protonj2.engine">Connection</a>&nbsp;setIdleTimeout&#8203;(long&nbsp;idleTimeout)
                   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">Set the idle timeout value for this Connection.

 The idle timeout value can only be modified prior to a call to <a href="Endpoint.html#open()"><code>Endpoint.open()</code></a>,
 once the connection has been opened locally an error will be thrown if this method
 is called.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>idleTimeout</code> - The value to set for the idle timeout when opening the connection.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this connection.</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 Connection has already been opened.</dd>
</dl>
</li>
</ul>
<a id="getIdleTimeout()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIdleTimeout</h4>
<pre class="methodSignature">long&nbsp;getIdleTimeout()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the currently configured idle timeout for this <a href="Connection.html" title="interface in org.apache.qpid.protonj2.engine"><code>Connection</code></a></dd>
</dl>
</li>
</ul>
<a id="session()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>session</h4>
<pre class="methodSignature"><a href="Session.html" title="interface in org.apache.qpid.protonj2.engine">Session</a>&nbsp;session()
         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">Creates a new Session linked to this Connection</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a newly created <a href="Session.html" title="interface in org.apache.qpid.protonj2.engine"><code>Session</code></a> linked to this <a href="Connection.html" title="interface in org.apache.qpid.protonj2.engine"><code>Connection</code></a>.</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="Connection.html" title="interface in org.apache.qpid.protonj2.engine"><code>Connection</code></a> has already been closed.</dd>
</dl>
</li>
</ul>
<a id="sessions()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sessions</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a>&lt;<a href="Session.html" title="interface in org.apache.qpid.protonj2.engine">Session</a>&gt;&nbsp;sessions()</pre>
<div class="block">Returns an unmodifiable <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink"><code>Set</code></a> of Sessions that are tracked by the Connection.

 The <a href="Session.html" title="interface in org.apache.qpid.protonj2.engine"><code>Session</code></a> instances returned from this method will be locally or remotely open or
 both which gives the caller full view of the complete set of known <a href="Session.html" title="interface in org.apache.qpid.protonj2.engine"><code>Session</code></a> instances.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an unmodifiable <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink"><code>Set</code></a> of Sessions tracked by this Connection.</dd>
</dl>
</li>
</ul>
<a id="getRemoteContainerId()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRemoteContainerId</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;getRemoteContainerId()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the Container Id assigned to the remote end of the Connection.</dd>
</dl>
</li>
</ul>
<a id="getRemoteHostname()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRemoteHostname</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;getRemoteHostname()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the host name assigned to the remote end of this Connection.</dd>
</dl>
</li>
</ul>
<a id="getRemoteIdleTimeout()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRemoteIdleTimeout</h4>
<pre class="methodSignature">long&nbsp;getRemoteIdleTimeout()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the idle timeout value provided by the remote end of this Connection.</dd>
</dl>
</li>
</ul>
<a id="getRemoteMaxFrameSize()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRemoteMaxFrameSize</h4>
<pre class="methodSignature">long&nbsp;getRemoteMaxFrameSize()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the remote set max frame size limit.</dd>
</dl>
</li>
</ul>
<a id="getRemoteState()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRemoteState</h4>
<pre class="methodSignature"><a href="ConnectionState.html" title="enum in org.apache.qpid.protonj2.engine">ConnectionState</a>&nbsp;getRemoteState()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the remote state (as last communicated)</dd>
</dl>
</li>
</ul>
<a id="sessionOpenHandler(org.apache.qpid.protonj2.engine.EventHandler)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sessionOpenHandler</h4>
<pre class="methodSignature"><a href="Connection.html" title="interface in org.apache.qpid.protonj2.engine">Connection</a>&nbsp;sessionOpenHandler&#8203;(<a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="Session.html" title="interface in org.apache.qpid.protonj2.engine">Session</a>&gt;&nbsp;remoteSessionOpenEventHandler)</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 Begin frame is received from the remote peer.

 Used to process remotely initiated Sessions. Locally initiated sessions have their own EventHandler
 invoked instead.  This method is Typically used by servers to listen for remote Session creation.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>remoteSessionOpenEventHandler</code> - the EventHandler that will be signaled when a session is remotely opened.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this connection</dd>
</dl>
</li>
</ul>
<a id="senderOpenHandler(org.apache.qpid.protonj2.engine.EventHandler)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>senderOpenHandler</h4>
<pre class="methodSignature"><a href="Connection.html" title="interface in org.apache.qpid.protonj2.engine">Connection</a>&nbsp;senderOpenHandler&#8203;(<a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a>&gt;&nbsp;remoteSenderOpenEventHandler)</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 Attach frame is received from the remote peer for a sending link.

 Used to process remotely initiated sending link.  Locally initiated links have their own EventHandler
 invoked instead.  This method is Typically used by servers to listen for remote Receiver creation.
 If an event handler for remote sender open is registered on the Session that the link is owned by then
 that handler will be invoked instead of this one.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>remoteSenderOpenEventHandler</code> - the EventHandler that will be signaled when a sender link is remotely opened.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this connection</dd>
</dl>
</li>
</ul>
<a id="receiverOpenHandler(org.apache.qpid.protonj2.engine.EventHandler)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>receiverOpenHandler</h4>
<pre class="methodSignature"><a href="Connection.html" title="interface in org.apache.qpid.protonj2.engine">Connection</a>&nbsp;receiverOpenHandler&#8203;(<a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine">Receiver</a>&gt;&nbsp;remoteReceiverOpenEventHandler)</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 Attach frame is received from the remote peer for a receiving link.

 Used to process remotely initiated receiving link.  Locally initiated links have their own EventHandler
 invoked instead.  This method is Typically used by servers to listen for remote Sender creation.
 If an event handler for remote receiver open is registered on the Session that the link is owned by then
 that handler will be invoked instead of this one.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>remoteReceiverOpenEventHandler</code> - the EventHandler that will be signaled when a receiver link is remotely opened.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this connection</dd>
</dl>
</li>
</ul>
<a id="transactionManagerOpenHandler(org.apache.qpid.protonj2.engine.EventHandler)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>transactionManagerOpenHandler</h4>
<pre class="methodSignature"><a href="Connection.html" title="interface in org.apache.qpid.protonj2.engine">Connection</a>&nbsp;transactionManagerOpenHandler&#8203;(<a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="TransactionManager.html" title="interface in org.apache.qpid.protonj2.engine">TransactionManager</a>&gt;&nbsp;remoteTxnManagerOpenEventHandler)</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 Attach frame is received from the remote peer for a transaction
 coordination link.

 Used to process remotely initiated transaction manager link.  Locally initiated links have their own EventHandler
 invoked instead.  This method is Typically used by servers to listen for remote <a href="TransactionController.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionController</code></a>
 creation.  If an event handler for remote <a href="TransactionController.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionController</code></a> open is registered on the Session that the
 link is owned by then that handler will be invoked instead of this one.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>remoteTxnManagerOpenEventHandler</code> - the EventHandler that will be signaled when a <a href="TransactionController.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionController</code></a> link is remotely opened.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this connection</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/Connection.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>
