<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>Session (Qpid Proton-J API)</title>
<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="Session (Qpid Proton-J API)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"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};
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>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/qpid/proton/engine/Sender.html" title="interface in org.apache.qpid.proton.engine"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/qpid/proton/engine/Ssl.html" title="interface in org.apache.qpid.proton.engine"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/qpid/proton/engine/Session.html" target="_top">Frames</a></li>
<li><a href="Session.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.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>
</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 name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.qpid.proton.engine</div>
<h2 title="Interface Session" class="title">Interface Session</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="../../../../../org/apache/qpid/proton/engine/Endpoint.html" title="interface in org.apache.qpid.proton.engine">Endpoint</a>, <a href="../../../../../org/apache/qpid/proton/engine/Extendable.html" title="interface in org.apache.qpid.proton.engine">Extendable</a></dd>
</dl>
<dl>
<dt>All Known Subinterfaces:</dt>
<dd><a href="../../../../../org/apache/qpid/proton/engine/ProtonJSession.html" title="interface in org.apache.qpid.proton.engine">ProtonJSession</a></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../../org/apache/qpid/proton/engine/impl/SessionImpl.html" title="class in org.apache.qpid.proton.engine.impl">SessionImpl</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">Session</span>
extends <a href="../../../../../org/apache/qpid/proton/engine/Endpoint.html" title="interface in org.apache.qpid.proton.engine">Endpoint</a></pre>
<div class="block">Session

 Note that session level flow control is handled internally by Proton.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<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="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/qpid/proton/engine/Connection.html" title="interface in org.apache.qpid.proton.engine">Connection</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Session.html#getConnection--">getConnection</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/qpid/proton/amqp/Symbol.html" title="class in org.apache.qpid.proton.amqp">Symbol</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Session.html#getDesiredCapabilities--">getDesiredCapabilities</a></span>()</code>
<div class="block">Gets the local session desired capabilities.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Session.html#getIncomingBytes--">getIncomingBytes</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Session.html#getIncomingCapacity--">getIncomingCapacity</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/qpid/proton/amqp/Symbol.html" title="class in org.apache.qpid.proton.amqp">Symbol</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Session.html#getOfferedCapabilities--">getOfferedCapabilities</a></span>()</code>
<div class="block">Gets the local session offered capabilities.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Session.html#getOutgoingBytes--">getOutgoingBytes</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Session.html#getOutgoingWindow--">getOutgoingWindow</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>java.util.Map&lt;<a href="../../../../../org/apache/qpid/proton/amqp/Symbol.html" title="class in org.apache.qpid.proton.amqp">Symbol</a>,java.lang.Object&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Session.html#getProperties--">getProperties</a></span>()</code>
<div class="block">Gets the local session properties.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/qpid/proton/amqp/Symbol.html" title="class in org.apache.qpid.proton.amqp">Symbol</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Session.html#getRemoteDesiredCapabilities--">getRemoteDesiredCapabilities</a></span>()</code>
<div class="block">Gets the remote session desired capabilities, as conveyed from the peer via the Begin frame
 when opening the session.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/qpid/proton/amqp/Symbol.html" title="class in org.apache.qpid.proton.amqp">Symbol</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Session.html#getRemoteOfferedCapabilities--">getRemoteOfferedCapabilities</a></span>()</code>
<div class="block">Gets the remote session offered capabilities, as conveyed from the peer via the Begin frame
 when opening the session.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>java.util.Map&lt;<a href="../../../../../org/apache/qpid/proton/amqp/Symbol.html" title="class in org.apache.qpid.proton.amqp">Symbol</a>,java.lang.Object&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Session.html#getRemoteProperties--">getRemoteProperties</a></span>()</code>
<div class="block">Gets the remote session properties, as conveyed from the peer via the Begin frame
 when opening the session.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/qpid/proton/engine/Session.html" title="interface in org.apache.qpid.proton.engine">Session</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Session.html#next-java.util.EnumSet-java.util.EnumSet-">next</a></span>(java.util.EnumSet&lt;<a href="../../../../../org/apache/qpid/proton/engine/EndpointState.html" title="enum in org.apache.qpid.proton.engine">EndpointState</a>&gt;&nbsp;local,
    java.util.EnumSet&lt;<a href="../../../../../org/apache/qpid/proton/engine/EndpointState.html" title="enum in org.apache.qpid.proton.engine">EndpointState</a>&gt;&nbsp;remote)</code>&nbsp;</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/qpid/proton/engine/Receiver.html" title="interface in org.apache.qpid.proton.engine">Receiver</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Session.html#receiver-java.lang.String-">receiver</a></span>(java.lang.String&nbsp;name)</code>
<div class="block">Returns a newly created receiver endpoint</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/qpid/proton/engine/Sender.html" title="interface in org.apache.qpid.proton.engine">Sender</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Session.html#sender-java.lang.String-">sender</a></span>(java.lang.String&nbsp;name)</code>
<div class="block">Returns a newly created sender endpoint</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Session.html#setDesiredCapabilities-org.apache.qpid.proton.amqp.Symbol:A-">setDesiredCapabilities</a></span>(<a href="../../../../../org/apache/qpid/proton/amqp/Symbol.html" title="class in org.apache.qpid.proton.amqp">Symbol</a>[]&nbsp;desiredCapabilities)</code>
<div class="block">Sets the local session desired capabilities, to be conveyed to the peer via the Begin frame
 when opening the session.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Session.html#setIncomingCapacity-int-">setIncomingCapacity</a></span>(int&nbsp;bytes)</code>&nbsp;</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Session.html#setOfferedCapabilities-org.apache.qpid.proton.amqp.Symbol:A-">setOfferedCapabilities</a></span>(<a href="../../../../../org/apache/qpid/proton/amqp/Symbol.html" title="class in org.apache.qpid.proton.amqp">Symbol</a>[]&nbsp;offeredCapabilities)</code>
<div class="block">Sets the local session offered capabilities, to be conveyed to the peer via the Begin frame
 when opening the session.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Session.html#setOutgoingWindow-long-">setOutgoingWindow</a></span>(long&nbsp;outgoingWindowSize)</code>
<div class="block">Sets the outgoing window size.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Session.html#setProperties-java.util.Map-">setProperties</a></span>(java.util.Map&lt;<a href="../../../../../org/apache/qpid/proton/amqp/Symbol.html" title="class in org.apache.qpid.proton.amqp">Symbol</a>,java.lang.Object&gt;&nbsp;properties)</code>
<div class="block">Sets the local session properties, to be conveyed to the peer via the Begin frame when
 attaching the session to the session.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.qpid.proton.engine.Endpoint">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.qpid.proton.engine.<a href="../../../../../org/apache/qpid/proton/engine/Endpoint.html" title="interface in org.apache.qpid.proton.engine">Endpoint</a></h3>
<code><a href="../../../../../org/apache/qpid/proton/engine/Endpoint.html#close--">close</a>, <a href="../../../../../org/apache/qpid/proton/engine/Endpoint.html#free--">free</a>, <a href="../../../../../org/apache/qpid/proton/engine/Endpoint.html#getCondition--">getCondition</a>, <a href="../../../../../org/apache/qpid/proton/engine/Endpoint.html#getContext--">getContext</a>, <a href="../../../../../org/apache/qpid/proton/engine/Endpoint.html#getLocalState--">getLocalState</a>, <a href="../../../../../org/apache/qpid/proton/engine/Endpoint.html#getRemoteCondition--">getRemoteCondition</a>, <a href="../../../../../org/apache/qpid/proton/engine/Endpoint.html#getRemoteState--">getRemoteState</a>, <a href="../../../../../org/apache/qpid/proton/engine/Endpoint.html#open--">open</a>, <a href="../../../../../org/apache/qpid/proton/engine/Endpoint.html#setCondition-org.apache.qpid.proton.amqp.transport.ErrorCondition-">setCondition</a>, <a href="../../../../../org/apache/qpid/proton/engine/Endpoint.html#setContext-java.lang.Object-">setContext</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.qpid.proton.engine.Extendable">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.qpid.proton.engine.<a href="../../../../../org/apache/qpid/proton/engine/Extendable.html" title="interface in org.apache.qpid.proton.engine">Extendable</a></h3>
<code><a href="../../../../../org/apache/qpid/proton/engine/Extendable.html#attachments--">attachments</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="sender-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sender</h4>
<pre><a href="../../../../../org/apache/qpid/proton/engine/Sender.html" title="interface in org.apache.qpid.proton.engine">Sender</a>&nbsp;sender(java.lang.String&nbsp;name)</pre>
<div class="block">Returns a newly created sender endpoint</div>
</li>
</ul>
<a name="receiver-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>receiver</h4>
<pre><a href="../../../../../org/apache/qpid/proton/engine/Receiver.html" title="interface in org.apache.qpid.proton.engine">Receiver</a>&nbsp;receiver(java.lang.String&nbsp;name)</pre>
<div class="block">Returns a newly created receiver endpoint</div>
</li>
</ul>
<a name="next-java.util.EnumSet-java.util.EnumSet-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>next</h4>
<pre><a href="../../../../../org/apache/qpid/proton/engine/Session.html" title="interface in org.apache.qpid.proton.engine">Session</a>&nbsp;next(java.util.EnumSet&lt;<a href="../../../../../org/apache/qpid/proton/engine/EndpointState.html" title="enum in org.apache.qpid.proton.engine">EndpointState</a>&gt;&nbsp;local,
             java.util.EnumSet&lt;<a href="../../../../../org/apache/qpid/proton/engine/EndpointState.html" title="enum in org.apache.qpid.proton.engine">EndpointState</a>&gt;&nbsp;remote)</pre>
</li>
</ul>
<a name="getConnection--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConnection</h4>
<pre><a href="../../../../../org/apache/qpid/proton/engine/Connection.html" title="interface in org.apache.qpid.proton.engine">Connection</a>&nbsp;getConnection()</pre>
</li>
</ul>
<a name="getIncomingCapacity--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIncomingCapacity</h4>
<pre>int&nbsp;getIncomingCapacity()</pre>
</li>
</ul>
<a name="setIncomingCapacity-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setIncomingCapacity</h4>
<pre>void&nbsp;setIncomingCapacity(int&nbsp;bytes)</pre>
</li>
</ul>
<a name="getIncomingBytes--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIncomingBytes</h4>
<pre>int&nbsp;getIncomingBytes()</pre>
</li>
</ul>
<a name="getOutgoingBytes--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOutgoingBytes</h4>
<pre>int&nbsp;getOutgoingBytes()</pre>
</li>
</ul>
<a name="getOutgoingWindow--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOutgoingWindow</h4>
<pre>long&nbsp;getOutgoingWindow()</pre>
</li>
</ul>
<a name="setOutgoingWindow-long-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setOutgoingWindow</h4>
<pre>void&nbsp;setOutgoingWindow(long&nbsp;outgoingWindowSize)</pre>
<div class="block">Sets the outgoing window size.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>outgoingWindowSize</code> - the outgoing window size</dd>
</dl>
</li>
</ul>
<a name="setProperties-java.util.Map-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setProperties</h4>
<pre>void&nbsp;setProperties(java.util.Map&lt;<a href="../../../../../org/apache/qpid/proton/amqp/Symbol.html" title="class in org.apache.qpid.proton.amqp">Symbol</a>,java.lang.Object&gt;&nbsp;properties)</pre>
<div class="block">Sets the local session properties, to be conveyed to the peer via the Begin frame when
 attaching the session to the session.

 Must be called during session setup, i.e. before calling the <a href="../../../../../org/apache/qpid/proton/engine/Endpoint.html#open--"><code>Endpoint.open()</code></a> method.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>properties</code> - the properties map to send, or null for none.</dd>
</dl>
</li>
</ul>
<a name="getProperties--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProperties</h4>
<pre>java.util.Map&lt;<a href="../../../../../org/apache/qpid/proton/amqp/Symbol.html" title="class in org.apache.qpid.proton.amqp">Symbol</a>,java.lang.Object&gt;&nbsp;getProperties()</pre>
<div class="block">Gets the local session properties.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the properties map, or null if none was set.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/apache/qpid/proton/engine/Session.html#setProperties-java.util.Map-"><code>setProperties(Map)</code></a></dd>
</dl>
</li>
</ul>
<a name="getRemoteProperties--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRemoteProperties</h4>
<pre>java.util.Map&lt;<a href="../../../../../org/apache/qpid/proton/amqp/Symbol.html" title="class in org.apache.qpid.proton.amqp">Symbol</a>,java.lang.Object&gt;&nbsp;getRemoteProperties()</pre>
<div class="block">Gets the remote session properties, as conveyed from the peer via the Begin frame
 when opening the session.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the properties Map conveyed by the peer, or null if there was none.</dd>
</dl>
</li>
</ul>
<a name="setOfferedCapabilities-org.apache.qpid.proton.amqp.Symbol:A-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setOfferedCapabilities</h4>
<pre>void&nbsp;setOfferedCapabilities(<a href="../../../../../org/apache/qpid/proton/amqp/Symbol.html" title="class in org.apache.qpid.proton.amqp">Symbol</a>[]&nbsp;offeredCapabilities)</pre>
<div class="block">Sets the local session offered capabilities, to be conveyed to the peer via the Begin frame
 when opening the session.

 Must be called during session setup, i.e. before calling the <a href="../../../../../org/apache/qpid/proton/engine/Endpoint.html#open--"><code>Endpoint.open()</code></a> method.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offeredCapabilities</code> - the offered capabilities array to send, or null for none.</dd>
</dl>
</li>
</ul>
<a name="getOfferedCapabilities--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOfferedCapabilities</h4>
<pre><a href="../../../../../org/apache/qpid/proton/amqp/Symbol.html" title="class in org.apache.qpid.proton.amqp">Symbol</a>[]&nbsp;getOfferedCapabilities()</pre>
<div class="block">Gets the local session offered capabilities.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the offered capabilities array, or null if none was set.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/apache/qpid/proton/engine/Session.html#setOfferedCapabilities-org.apache.qpid.proton.amqp.Symbol:A-"><code>setOfferedCapabilities(Symbol[])</code></a></dd>
</dl>
</li>
</ul>
<a name="getRemoteOfferedCapabilities--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRemoteOfferedCapabilities</h4>
<pre><a href="../../../../../org/apache/qpid/proton/amqp/Symbol.html" title="class in org.apache.qpid.proton.amqp">Symbol</a>[]&nbsp;getRemoteOfferedCapabilities()</pre>
<div class="block">Gets the remote session offered capabilities, as conveyed from the peer via the Begin frame
 when opening the session.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the offered capabilities array conveyed by the peer, or null if there was none.</dd>
</dl>
</li>
</ul>
<a name="setDesiredCapabilities-org.apache.qpid.proton.amqp.Symbol:A-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDesiredCapabilities</h4>
<pre>void&nbsp;setDesiredCapabilities(<a href="../../../../../org/apache/qpid/proton/amqp/Symbol.html" title="class in org.apache.qpid.proton.amqp">Symbol</a>[]&nbsp;desiredCapabilities)</pre>
<div class="block">Sets the local session desired capabilities, to be conveyed to the peer via the Begin frame
 when opening the session.

 Must be called during session setup, i.e. before calling the <a href="../../../../../org/apache/qpid/proton/engine/Endpoint.html#open--"><code>Endpoint.open()</code></a> method.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>desiredCapabilities</code> - the desired capabilities array to send, or null for none.</dd>
</dl>
</li>
</ul>
<a name="getDesiredCapabilities--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDesiredCapabilities</h4>
<pre><a href="../../../../../org/apache/qpid/proton/amqp/Symbol.html" title="class in org.apache.qpid.proton.amqp">Symbol</a>[]&nbsp;getDesiredCapabilities()</pre>
<div class="block">Gets the local session desired capabilities.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the desired capabilities array, or null if none was set.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/apache/qpid/proton/engine/Session.html#setDesiredCapabilities-org.apache.qpid.proton.amqp.Symbol:A-"><code>setDesiredCapabilities(Symbol[])</code></a></dd>
</dl>
</li>
</ul>
<a name="getRemoteDesiredCapabilities--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getRemoteDesiredCapabilities</h4>
<pre><a href="../../../../../org/apache/qpid/proton/amqp/Symbol.html" title="class in org.apache.qpid.proton.amqp">Symbol</a>[]&nbsp;getRemoteDesiredCapabilities()</pre>
<div class="block">Gets the remote session desired capabilities, as conveyed from the peer via the Begin frame
 when opening the session.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the desired capabilities array conveyed by the peer, or null if there was none.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/qpid/proton/engine/Sender.html" title="interface in org.apache.qpid.proton.engine"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/qpid/proton/engine/Ssl.html" title="interface in org.apache.qpid.proton.engine"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/qpid/proton/engine/Session.html" target="_top">Frames</a></li>
<li><a href="Session.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.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>
</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 name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
