blob: 57b40205a31b9fdcb70d9d11ab14dd2d14c48006 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>OutgoingAMQPEnvelope (Qpid ProtonJ2 Parent 1.0.0-M19 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: org.apache.qpid.protonj2.engine, class: OutgoingAMQPEnvelope">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="class-use/OutgoingAMQPEnvelope.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field-summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li><a href="#field-detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.qpid.protonj2.engine</a></div>
<h1 title="Class OutgoingAMQPEnvelope" class="title">Class OutgoingAMQPEnvelope</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance"><a href="PerformativeEnvelope.html" title="class in org.apache.qpid.protonj2.engine">org.apache.qpid.protonj2.engine.PerformativeEnvelope</a>&lt;<a href="../types/transport/Performative.html" title="interface in org.apache.qpid.protonj2.types.transport">Performative</a>&gt;
<div class="inheritance">org.apache.qpid.protonj2.engine.OutgoingAMQPEnvelope</div>
</div>
</div>
<section class="class-description" id="class-description">
<hr>
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">OutgoingAMQPEnvelope</span>
<span class="extends-implements">extends <a href="PerformativeEnvelope.html" title="class in org.apache.qpid.protonj2.engine">PerformativeEnvelope</a>&lt;<a href="../types/transport/Performative.html" title="interface in org.apache.qpid.protonj2.types.transport">Performative</a>&gt;</span></div>
<div class="block">Frame object that carries an AMQP Performative</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="caption"><span>Fields</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Field</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>static final byte</code></div>
<div class="col-second even-row-color"><code><a href="#AMQP_FRAME_TYPE" class="member-name-link">AMQP_FRAME_TYPE</a></code></div>
<div class="col-last even-row-color">
<div class="block">The frame type value to used when encoding the outgoing AMQP frame.</div>
</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="OutgoingAMQPEnvelope.html" title="class in org.apache.qpid.protonj2.engine">OutgoingAMQPEnvelope</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#handleOutgoingFrameWriteComplete()" class="member-name-link">handleOutgoingFrameWriteComplete</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Called by the encoder when the write of a frame that comprises the transfer of the AMQP <a href="../types/transport/Performative.html" title="interface in org.apache.qpid.protonj2.types.transport"><code>Performative</code></a>
plus any assigned payload has completed.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="OutgoingAMQPEnvelope.html" title="class in org.apache.qpid.protonj2.engine">OutgoingAMQPEnvelope</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#handlePayloadToLarge()" class="member-name-link">handlePayloadToLarge</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Called when the encoder determines that the encoding of the <a href="../types/transport/Performative.html" title="interface in org.apache.qpid.protonj2.types.transport"><code>Performative</code></a> plus any
payload value is to large for a single AMQP frame.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>&lt;E&gt;&nbsp;void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#invoke(org.apache.qpid.protonj2.types.transport.Performative.PerformativeHandler,E)" class="member-name-link">invoke</a><wbr>(<a href="../types/transport/Performative.PerformativeHandler.html" title="interface in org.apache.qpid.protonj2.types.transport">Performative.PerformativeHandler</a>&lt;E&gt;&nbsp;handler,
E&nbsp;context)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Invoke the correct PerformativeHandler event based on the body of this <a href="OutgoingAMQPEnvelope.html" title="class in org.apache.qpid.protonj2.engine"><code>OutgoingAMQPEnvelope</code></a></div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#release()" class="member-name-link">release</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Used to release a Frame that was taken from a Frame pool in order
to make it available for the next input operations.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="OutgoingAMQPEnvelope.html" title="class in org.apache.qpid.protonj2.engine">OutgoingAMQPEnvelope</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setFrameWriteCompletionHandler(java.lang.Runnable)" class="member-name-link">setFrameWriteCompletionHandler</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Runnable.html" title="class or interface in java.lang" class="external-link">Runnable</a>&nbsp;frameWriteCompleteHandler)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Configures a handler to be invoked when a write operation that was handed off to the I/O layer
has completed indicated that a single frame portion of the payload has been fully written.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="OutgoingAMQPEnvelope.html" title="class in org.apache.qpid.protonj2.engine">OutgoingAMQPEnvelope</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setPayloadToLargeHandler(java.util.function.Consumer)" class="member-name-link">setPayloadToLargeHandler</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/function/Consumer.html" title="class or interface in java.util.function" class="external-link">Consumer</a>&lt;<a href="../types/transport/Performative.html" title="interface in org.apache.qpid.protonj2.types.transport">Performative</a>&gt;&nbsp;payloadToLargeHandler)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Configures a handler to be invoked if the payload that is being transmitted with this
performative is to large to allow encoding the frame within the maximum configured AMQP
frame size limit.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.apache.qpid.protonj2.engine.PerformativeEnvelope">Methods inherited from class&nbsp;org.apache.qpid.protonj2.engine.<a href="PerformativeEnvelope.html" title="class in org.apache.qpid.protonj2.engine">PerformativeEnvelope</a></h3>
<code><a href="PerformativeEnvelope.html#getBody()">getBody</a>, <a href="PerformativeEnvelope.html#getChannel()">getChannel</a>, <a href="PerformativeEnvelope.html#getFrameType()">getFrameType</a>, <a href="PerformativeEnvelope.html#getPayload()">getPayload</a>, <a href="PerformativeEnvelope.html#toString()">toString</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ FIELD DETAIL =========== -->
<li>
<section class="field-details" id="field-detail">
<h2>Field Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="AMQP_FRAME_TYPE">
<h3>AMQP_FRAME_TYPE</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type">byte</span>&nbsp;<span class="element-name">AMQP_FRAME_TYPE</span></div>
<div class="block">The frame type value to used when encoding the outgoing AMQP frame.</div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="../../../../../constant-values.html#org.apache.qpid.protonj2.engine.OutgoingAMQPEnvelope.AMQP_FRAME_TYPE">Constant Field Values</a></li>
</ul>
</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="setPayloadToLargeHandler(java.util.function.Consumer)">
<h3>setPayloadToLargeHandler</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="OutgoingAMQPEnvelope.html" title="class in org.apache.qpid.protonj2.engine">OutgoingAMQPEnvelope</a></span>&nbsp;<span class="element-name">setPayloadToLargeHandler</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/function/Consumer.html" title="class or interface in java.util.function" class="external-link">Consumer</a>&lt;<a href="../types/transport/Performative.html" title="interface in org.apache.qpid.protonj2.types.transport">Performative</a>&gt;&nbsp;payloadToLargeHandler)</span></div>
<div class="block">Configures a handler to be invoked if the payload that is being transmitted with this
performative is to large to allow encoding the frame within the maximum configured AMQP
frame size limit.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>payloadToLargeHandler</code> - Handler that will update the Performative to reflect that more than one frame is required.</dd>
<dt>Returns:</dt>
<dd>this <a href="OutgoingAMQPEnvelope.html" title="class in org.apache.qpid.protonj2.engine"><code>OutgoingAMQPEnvelope</code></a> instance.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="handlePayloadToLarge()">
<h3>handlePayloadToLarge</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="OutgoingAMQPEnvelope.html" title="class in org.apache.qpid.protonj2.engine">OutgoingAMQPEnvelope</a></span>&nbsp;<span class="element-name">handlePayloadToLarge</span>()</div>
<div class="block">Called when the encoder determines that the encoding of the <a href="../types/transport/Performative.html" title="interface in org.apache.qpid.protonj2.types.transport"><code>Performative</code></a> plus any
payload value is to large for a single AMQP frame. The configured handler should update
the <a href="../types/transport/Performative.html" title="interface in org.apache.qpid.protonj2.types.transport"><code>Performative</code></a> in preparation for encoding as a split framed AMQP transfer.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>this <a href="OutgoingAMQPEnvelope.html" title="class in org.apache.qpid.protonj2.engine"><code>OutgoingAMQPEnvelope</code></a> instance</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setFrameWriteCompletionHandler(java.lang.Runnable)">
<h3>setFrameWriteCompletionHandler</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="OutgoingAMQPEnvelope.html" title="class in org.apache.qpid.protonj2.engine">OutgoingAMQPEnvelope</a></span>&nbsp;<span class="element-name">setFrameWriteCompletionHandler</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Runnable.html" title="class or interface in java.lang" class="external-link">Runnable</a>&nbsp;frameWriteCompleteHandler)</span></div>
<div class="block">Configures a handler to be invoked when a write operation that was handed off to the I/O layer
has completed indicated that a single frame portion of the payload has been fully written.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>frameWriteCompleteHandler</code> - Runnable handler that will update state or otherwise respond to the write of a frame.</dd>
<dt>Returns:</dt>
<dd>this <a href="OutgoingAMQPEnvelope.html" title="class in org.apache.qpid.protonj2.engine"><code>OutgoingAMQPEnvelope</code></a> instance.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="handleOutgoingFrameWriteComplete()">
<h3>handleOutgoingFrameWriteComplete</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="OutgoingAMQPEnvelope.html" title="class in org.apache.qpid.protonj2.engine">OutgoingAMQPEnvelope</a></span>&nbsp;<span class="element-name">handleOutgoingFrameWriteComplete</span>()</div>
<div class="block">Called by the encoder when the write of a frame that comprises the transfer of the AMQP <a href="../types/transport/Performative.html" title="interface in org.apache.qpid.protonj2.types.transport"><code>Performative</code></a>
plus any assigned payload has completed. If the transfer comprises multiple frame writes this handler should
be invoked as each frame is successfully written by the IO layer.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>this <a href="OutgoingAMQPEnvelope.html" title="class in org.apache.qpid.protonj2.engine"><code>OutgoingAMQPEnvelope</code></a> instance.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="release()">
<h3>release</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">release</span>()</div>
<div class="block">Used to release a Frame that was taken from a Frame pool in order
to make it available for the next input operations. Once called the
contents of the Frame are invalid and cannot be used again inside the
same context.</div>
</section>
</li>
<li>
<section class="detail" id="invoke(org.apache.qpid.protonj2.types.transport.Performative.PerformativeHandler,E)">
<h3 id="invoke(org.apache.qpid.protonj2.types.transport.Performative.PerformativeHandler,java.lang.Object)">invoke</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="type-parameters">&lt;E&gt;</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">invoke</span><wbr><span class="parameters">(<a href="../types/transport/Performative.PerformativeHandler.html" title="interface in org.apache.qpid.protonj2.types.transport">Performative.PerformativeHandler</a>&lt;E&gt;&nbsp;handler,
E&nbsp;context)</span></div>
<div class="block">Invoke the correct PerformativeHandler event based on the body of this <a href="OutgoingAMQPEnvelope.html" title="class in org.apache.qpid.protonj2.engine"><code>OutgoingAMQPEnvelope</code></a></div>
<dl class="notes">
<dt>Type Parameters:</dt>
<dd><code>E</code> - The type that the <a href="../types/transport/Performative.html" title="interface in org.apache.qpid.protonj2.types.transport"><code>Performative</code></a> handler expects for the context value.</dd>
<dt>Parameters:</dt>
<dd><code>handler</code> - The handler that should be used to process the current body value.</dd>
<dd><code>context</code> - The context that should be passed along for the current event.</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small>Copyright &#169; 2024 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>