<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>EngineHandler (Qpid ProtonJ2 Parent 1.0.0-M18 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, interface: EngineHandler">
<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/EngineHandler.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>Field&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>Field&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="Interface EngineHandler" class="title">Interface EngineHandler</h1>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="impl/ProtonFrameDecodingHandler.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonFrameDecodingHandler</a></code>, <code><a href="impl/ProtonFrameEncodingHandler.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonFrameEncodingHandler</a></code>, <code><a href="impl/ProtonFrameLoggingHandler.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonFrameLoggingHandler</a></code>, <code><a href="impl/ProtonPerformativeHandler.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonPerformativeHandler</a></code>, <code><a href="impl/sasl/ProtonSaslHandler.html" title="class in org.apache.qpid.protonj2.engine.impl.sasl">ProtonSaslHandler</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">EngineHandler</span></div>
<div class="block">Listen for events generated from the Engine</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== 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-tab5" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab5', 3)" class="table-tab">Default 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-tab5"><code>default void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#engineFailed(org.apache.qpid.protonj2.engine.EngineHandlerContext,org.apache.qpid.protonj2.engine.exceptions.EngineFailedException)" class="member-name-link">engineFailed</a><wbr>(<a href="EngineHandlerContext.html" title="interface in org.apache.qpid.protonj2.engine">EngineHandlerContext</a>&nbsp;context,
 <a href="exceptions/EngineFailedException.html" title="class in org.apache.qpid.protonj2.engine.exceptions">EngineFailedException</a>&nbsp;failure)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Called when the engine has transitioned to a failed state and cannot process any additional
 input or output.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#engineStarting(org.apache.qpid.protonj2.engine.EngineHandlerContext)" class="member-name-link">engineStarting</a><wbr>(<a href="EngineHandlerContext.html" title="interface in org.apache.qpid.protonj2.engine">EngineHandlerContext</a>&nbsp;context)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Called when the engine is started to allow handlers to prepare for use based on
 the configuration state at start of the engine.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#handleEngineStateChanged(org.apache.qpid.protonj2.engine.EngineHandlerContext)" class="member-name-link">handleEngineStateChanged</a><wbr>(<a href="EngineHandlerContext.html" title="interface in org.apache.qpid.protonj2.engine">EngineHandlerContext</a>&nbsp;context)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Called when the engine state has changed and handlers may need to update their internal state
 to respond to the change or prompt some new work based on the change, e.g state changes from
 not writable to writable.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#handlerAdded(org.apache.qpid.protonj2.engine.EngineHandlerContext)" class="member-name-link">handlerAdded</a><wbr>(<a href="EngineHandlerContext.html" title="interface in org.apache.qpid.protonj2.engine">EngineHandlerContext</a>&nbsp;context)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Called when the handler is successfully added to the <a href="EnginePipeline.html" title="interface in org.apache.qpid.protonj2.engine"><code>EnginePipeline</code></a> and
 will later be initialized before use.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#handleRead(org.apache.qpid.protonj2.engine.EngineHandlerContext,org.apache.qpid.protonj2.buffer.ProtonBuffer)" class="member-name-link">handleRead</a><wbr>(<a href="EngineHandlerContext.html" title="interface in org.apache.qpid.protonj2.engine">EngineHandlerContext</a>&nbsp;context,
 <a href="../buffer/ProtonBuffer.html" title="interface in org.apache.qpid.protonj2.buffer">ProtonBuffer</a>&nbsp;buffer)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Handle the read of new incoming bytes from a remote sender.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#handleRead(org.apache.qpid.protonj2.engine.EngineHandlerContext,org.apache.qpid.protonj2.engine.HeaderEnvelope)" class="member-name-link">handleRead</a><wbr>(<a href="EngineHandlerContext.html" title="interface in org.apache.qpid.protonj2.engine">EngineHandlerContext</a>&nbsp;context,
 <a href="HeaderEnvelope.html" title="class in org.apache.qpid.protonj2.engine">HeaderEnvelope</a>&nbsp;header)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Handle the receipt of an incoming AMQP Header or SASL Header based on the current state
 of this handler.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#handleRead(org.apache.qpid.protonj2.engine.EngineHandlerContext,org.apache.qpid.protonj2.engine.IncomingAMQPEnvelope)" class="member-name-link">handleRead</a><wbr>(<a href="EngineHandlerContext.html" title="interface in org.apache.qpid.protonj2.engine">EngineHandlerContext</a>&nbsp;context,
 <a href="IncomingAMQPEnvelope.html" title="class in org.apache.qpid.protonj2.engine">IncomingAMQPEnvelope</a>&nbsp;envelope)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Handle the receipt of an incoming AMQP envelope based on the current state of this handler.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#handleRead(org.apache.qpid.protonj2.engine.EngineHandlerContext,org.apache.qpid.protonj2.engine.SASLEnvelope)" class="member-name-link">handleRead</a><wbr>(<a href="EngineHandlerContext.html" title="interface in org.apache.qpid.protonj2.engine">EngineHandlerContext</a>&nbsp;context,
 <a href="SASLEnvelope.html" title="class in org.apache.qpid.protonj2.engine">SASLEnvelope</a>&nbsp;envelope)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Handle the receipt of an incoming SASL performative based on the current state of this handler.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#handlerRemoved(org.apache.qpid.protonj2.engine.EngineHandlerContext)" class="member-name-link">handlerRemoved</a><wbr>(<a href="EngineHandlerContext.html" title="interface in org.apache.qpid.protonj2.engine">EngineHandlerContext</a>&nbsp;context)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Called when the handler is successfully removed to the <a href="EnginePipeline.html" title="interface in org.apache.qpid.protonj2.engine"><code>EnginePipeline</code></a>.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#handleWrite(org.apache.qpid.protonj2.engine.EngineHandlerContext,org.apache.qpid.protonj2.buffer.ProtonBuffer,java.lang.Runnable)" class="member-name-link">handleWrite</a><wbr>(<a href="EngineHandlerContext.html" title="interface in org.apache.qpid.protonj2.engine">EngineHandlerContext</a>&nbsp;context,
 <a href="../buffer/ProtonBuffer.html" title="interface in org.apache.qpid.protonj2.buffer">ProtonBuffer</a>&nbsp;buffer,
 <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;ioComplete)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Writes the given bytes to the output target or if no handler in the pipeline handles this
 calls the registered output handler of the parent Engine instance.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#handleWrite(org.apache.qpid.protonj2.engine.EngineHandlerContext,org.apache.qpid.protonj2.engine.HeaderEnvelope)" class="member-name-link">handleWrite</a><wbr>(<a href="EngineHandlerContext.html" title="interface in org.apache.qpid.protonj2.engine">EngineHandlerContext</a>&nbsp;context,
 <a href="HeaderEnvelope.html" title="class in org.apache.qpid.protonj2.engine">HeaderEnvelope</a>&nbsp;envelope)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Handles write of AMQPHeader either by directly writing it to the output target or by
 converting it to bytes and firing a write using the <a href="../buffer/ProtonBuffer.html" title="interface in org.apache.qpid.protonj2.buffer"><code>ProtonBuffer</code></a> based API
 in <a href="EngineHandlerContext.html#fireWrite(org.apache.qpid.protonj2.buffer.ProtonBuffer,java.lang.Runnable)"><code>EngineHandlerContext.fireWrite(ProtonBuffer, Runnable)</code></a></div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#handleWrite(org.apache.qpid.protonj2.engine.EngineHandlerContext,org.apache.qpid.protonj2.engine.OutgoingAMQPEnvelope)" class="member-name-link">handleWrite</a><wbr>(<a href="EngineHandlerContext.html" title="interface in org.apache.qpid.protonj2.engine">EngineHandlerContext</a>&nbsp;context,
 <a href="OutgoingAMQPEnvelope.html" title="class in org.apache.qpid.protonj2.engine">OutgoingAMQPEnvelope</a>&nbsp;envelope)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Handles write of AMQP performative envelope either by directly writing it to the output target or
 by converting it to bytes and firing a write using the <a href="../buffer/ProtonBuffer.html" title="interface in org.apache.qpid.protonj2.buffer"><code>ProtonBuffer</code></a> based API in
 <a href="EngineHandlerContext.html#fireWrite(org.apache.qpid.protonj2.buffer.ProtonBuffer,java.lang.Runnable)"><code>EngineHandlerContext.fireWrite(ProtonBuffer, Runnable)</code></a></div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#handleWrite(org.apache.qpid.protonj2.engine.EngineHandlerContext,org.apache.qpid.protonj2.engine.SASLEnvelope)" class="member-name-link">handleWrite</a><wbr>(<a href="EngineHandlerContext.html" title="interface in org.apache.qpid.protonj2.engine">EngineHandlerContext</a>&nbsp;context,
 <a href="SASLEnvelope.html" title="class in org.apache.qpid.protonj2.engine">SASLEnvelope</a>&nbsp;envelope)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Handles write of SaslPerformative either by directly writing it to the output target or by
 converting it to bytes and firing a write using the <a href="../buffer/ProtonBuffer.html" title="interface in org.apache.qpid.protonj2.buffer"><code>ProtonBuffer</code></a> based API
 in <a href="EngineHandlerContext.html#fireWrite(org.apache.qpid.protonj2.buffer.ProtonBuffer,java.lang.Runnable)"><code>EngineHandlerContext.fireWrite(ProtonBuffer, Runnable)</code></a></div>
</div>
</div>
</div>
</div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="handlerAdded(org.apache.qpid.protonj2.engine.EngineHandlerContext)">
<h3>handlerAdded</h3>
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">handlerAdded</span><wbr><span class="parameters">(<a href="EngineHandlerContext.html" title="interface in org.apache.qpid.protonj2.engine">EngineHandlerContext</a>&nbsp;context)</span></div>
<div class="block">Called when the handler is successfully added to the <a href="EnginePipeline.html" title="interface in org.apache.qpid.protonj2.engine"><code>EnginePipeline</code></a> and
 will later be initialized before use.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>context</code> - The context that is assigned to this handler.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="handlerRemoved(org.apache.qpid.protonj2.engine.EngineHandlerContext)">
<h3>handlerRemoved</h3>
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">handlerRemoved</span><wbr><span class="parameters">(<a href="EngineHandlerContext.html" title="interface in org.apache.qpid.protonj2.engine">EngineHandlerContext</a>&nbsp;context)</span></div>
<div class="block">Called when the handler is successfully removed to the <a href="EnginePipeline.html" title="interface in org.apache.qpid.protonj2.engine"><code>EnginePipeline</code></a>.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>context</code> - The context that is assigned to this handler.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="engineStarting(org.apache.qpid.protonj2.engine.EngineHandlerContext)">
<h3>engineStarting</h3>
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">engineStarting</span><wbr><span class="parameters">(<a href="EngineHandlerContext.html" title="interface in org.apache.qpid.protonj2.engine">EngineHandlerContext</a>&nbsp;context)</span></div>
<div class="block">Called when the engine is started to allow handlers to prepare for use based on
 the configuration state at start of the engine.  A handler can fail the engine start
 by throwing an exception.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>context</code> - The context for this handler which can be used to forward the event to the next handler</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="handleEngineStateChanged(org.apache.qpid.protonj2.engine.EngineHandlerContext)">
<h3>handleEngineStateChanged</h3>
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">handleEngineStateChanged</span><wbr><span class="parameters">(<a href="EngineHandlerContext.html" title="interface in org.apache.qpid.protonj2.engine">EngineHandlerContext</a>&nbsp;context)</span></div>
<div class="block">Called when the engine state has changed and handlers may need to update their internal state
 to respond to the change or prompt some new work based on the change, e.g state changes from
 not writable to writable.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>context</code> - The context for this handler which can be used to forward the event to the next handler</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="engineFailed(org.apache.qpid.protonj2.engine.EngineHandlerContext,org.apache.qpid.protonj2.engine.exceptions.EngineFailedException)">
<h3>engineFailed</h3>
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">engineFailed</span><wbr><span class="parameters">(<a href="EngineHandlerContext.html" title="interface in org.apache.qpid.protonj2.engine">EngineHandlerContext</a>&nbsp;context,
 <a href="exceptions/EngineFailedException.html" title="class in org.apache.qpid.protonj2.engine.exceptions">EngineFailedException</a>&nbsp;failure)</span></div>
<div class="block">Called when the engine has transitioned to a failed state and cannot process any additional
 input or output.  The handler can free and resources used for normal operations at this point
 as the engine is now considered shutdown.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>context</code> - The context for this handler which can be used to forward the event to the next handler</dd>
<dd><code>failure</code> - The failure that triggered the engine to cease operations.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="handleRead(org.apache.qpid.protonj2.engine.EngineHandlerContext,org.apache.qpid.protonj2.buffer.ProtonBuffer)">
<h3>handleRead</h3>
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">handleRead</span><wbr><span class="parameters">(<a href="EngineHandlerContext.html" title="interface in org.apache.qpid.protonj2.engine">EngineHandlerContext</a>&nbsp;context,
 <a href="../buffer/ProtonBuffer.html" title="interface in org.apache.qpid.protonj2.buffer">ProtonBuffer</a>&nbsp;buffer)</span></div>
<div class="block">Handle the read of new incoming bytes from a remote sender.  The handler should generally
 decode these bytes into an AMQP Performative or SASL Performative based on the current state
 of the connection and the handler in question.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>context</code> - The context for this handler which can be used to forward the event to the next handler</dd>
<dd><code>buffer</code> - The buffer containing the bytes that the engine handler should decode.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="handleRead(org.apache.qpid.protonj2.engine.EngineHandlerContext,org.apache.qpid.protonj2.engine.HeaderEnvelope)">
<h3>handleRead</h3>
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">handleRead</span><wbr><span class="parameters">(<a href="EngineHandlerContext.html" title="interface in org.apache.qpid.protonj2.engine">EngineHandlerContext</a>&nbsp;context,
 <a href="HeaderEnvelope.html" title="class in org.apache.qpid.protonj2.engine">HeaderEnvelope</a>&nbsp;header)</span></div>
<div class="block">Handle the receipt of an incoming AMQP Header or SASL Header based on the current state
 of this handler.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>context</code> - The context for this handler which can be used to forward the event to the next handler</dd>
<dd><code>header</code> - The AMQP Header envelope that wraps the received header instance.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="handleRead(org.apache.qpid.protonj2.engine.EngineHandlerContext,org.apache.qpid.protonj2.engine.SASLEnvelope)">
<h3>handleRead</h3>
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">handleRead</span><wbr><span class="parameters">(<a href="EngineHandlerContext.html" title="interface in org.apache.qpid.protonj2.engine">EngineHandlerContext</a>&nbsp;context,
 <a href="SASLEnvelope.html" title="class in org.apache.qpid.protonj2.engine">SASLEnvelope</a>&nbsp;envelope)</span></div>
<div class="block">Handle the receipt of an incoming SASL performative based on the current state of this handler.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>context</code> - The context for this handler which can be used to forward the event to the next handler</dd>
<dd><code>envelope</code> - The SASL envelope that wraps the received <a href="../types/security/SaslPerformative.html" title="interface in org.apache.qpid.protonj2.types.security"><code>SaslPerformative</code></a>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="handleRead(org.apache.qpid.protonj2.engine.EngineHandlerContext,org.apache.qpid.protonj2.engine.IncomingAMQPEnvelope)">
<h3>handleRead</h3>
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">handleRead</span><wbr><span class="parameters">(<a href="EngineHandlerContext.html" title="interface in org.apache.qpid.protonj2.engine">EngineHandlerContext</a>&nbsp;context,
 <a href="IncomingAMQPEnvelope.html" title="class in org.apache.qpid.protonj2.engine">IncomingAMQPEnvelope</a>&nbsp;envelope)</span></div>
<div class="block">Handle the receipt of an incoming AMQP envelope based on the current state of this handler.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>context</code> - The context for this handler which can be used to forward the event to the next handler</dd>
<dd><code>envelope</code> - The AMQP envelope that wraps the received <a href="../types/transport/Performative.html" title="interface in org.apache.qpid.protonj2.types.transport"><code>Performative</code></a>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="handleWrite(org.apache.qpid.protonj2.engine.EngineHandlerContext,org.apache.qpid.protonj2.engine.HeaderEnvelope)">
<h3>handleWrite</h3>
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">handleWrite</span><wbr><span class="parameters">(<a href="EngineHandlerContext.html" title="interface in org.apache.qpid.protonj2.engine">EngineHandlerContext</a>&nbsp;context,
 <a href="HeaderEnvelope.html" title="class in org.apache.qpid.protonj2.engine">HeaderEnvelope</a>&nbsp;envelope)</span></div>
<div class="block">Handles write of AMQPHeader either by directly writing it to the output target or by
 converting it to bytes and firing a write using the <a href="../buffer/ProtonBuffer.html" title="interface in org.apache.qpid.protonj2.buffer"><code>ProtonBuffer</code></a> based API
 in <a href="EngineHandlerContext.html#fireWrite(org.apache.qpid.protonj2.buffer.ProtonBuffer,java.lang.Runnable)"><code>EngineHandlerContext.fireWrite(ProtonBuffer, Runnable)</code></a></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>context</code> - The <a href="EngineHandlerContext.html" title="interface in org.apache.qpid.protonj2.engine"><code>EngineHandlerContext</code></a> associated with this <a href="EngineHandler.html" title="interface in org.apache.qpid.protonj2.engine"><code>EngineHandler</code></a> instance.</dd>
<dd><code>envelope</code> - The <a href="HeaderEnvelope.html" title="class in org.apache.qpid.protonj2.engine"><code>HeaderEnvelope</code></a> instance to write.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="handleWrite(org.apache.qpid.protonj2.engine.EngineHandlerContext,org.apache.qpid.protonj2.engine.OutgoingAMQPEnvelope)">
<h3>handleWrite</h3>
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">handleWrite</span><wbr><span class="parameters">(<a href="EngineHandlerContext.html" title="interface in org.apache.qpid.protonj2.engine">EngineHandlerContext</a>&nbsp;context,
 <a href="OutgoingAMQPEnvelope.html" title="class in org.apache.qpid.protonj2.engine">OutgoingAMQPEnvelope</a>&nbsp;envelope)</span></div>
<div class="block">Handles write of AMQP performative envelope either by directly writing it to the output target or
 by converting it to bytes and firing a write using the <a href="../buffer/ProtonBuffer.html" title="interface in org.apache.qpid.protonj2.buffer"><code>ProtonBuffer</code></a> based API in
 <a href="EngineHandlerContext.html#fireWrite(org.apache.qpid.protonj2.buffer.ProtonBuffer,java.lang.Runnable)"><code>EngineHandlerContext.fireWrite(ProtonBuffer, Runnable)</code></a></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>context</code> - The <a href="EngineHandlerContext.html" title="interface in org.apache.qpid.protonj2.engine"><code>EngineHandlerContext</code></a> associated with this <a href="EngineHandler.html" title="interface in org.apache.qpid.protonj2.engine"><code>EngineHandler</code></a> instance.</dd>
<dd><code>envelope</code> - The <a href="OutgoingAMQPEnvelope.html" title="class in org.apache.qpid.protonj2.engine"><code>OutgoingAMQPEnvelope</code></a> instance to write.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="handleWrite(org.apache.qpid.protonj2.engine.EngineHandlerContext,org.apache.qpid.protonj2.engine.SASLEnvelope)">
<h3>handleWrite</h3>
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">handleWrite</span><wbr><span class="parameters">(<a href="EngineHandlerContext.html" title="interface in org.apache.qpid.protonj2.engine">EngineHandlerContext</a>&nbsp;context,
 <a href="SASLEnvelope.html" title="class in org.apache.qpid.protonj2.engine">SASLEnvelope</a>&nbsp;envelope)</span></div>
<div class="block">Handles write of SaslPerformative either by directly writing it to the output target or by
 converting it to bytes and firing a write using the <a href="../buffer/ProtonBuffer.html" title="interface in org.apache.qpid.protonj2.buffer"><code>ProtonBuffer</code></a> based API
 in <a href="EngineHandlerContext.html#fireWrite(org.apache.qpid.protonj2.buffer.ProtonBuffer,java.lang.Runnable)"><code>EngineHandlerContext.fireWrite(ProtonBuffer, Runnable)</code></a></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>context</code> - The <a href="EngineHandlerContext.html" title="interface in org.apache.qpid.protonj2.engine"><code>EngineHandlerContext</code></a> associated with this <a href="EngineHandler.html" title="interface in org.apache.qpid.protonj2.engine"><code>EngineHandler</code></a> instance.</dd>
<dd><code>envelope</code> - The <a href="SASLEnvelope.html" title="class in org.apache.qpid.protonj2.engine"><code>SASLEnvelope</code></a> instance to write.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="handleWrite(org.apache.qpid.protonj2.engine.EngineHandlerContext,org.apache.qpid.protonj2.buffer.ProtonBuffer,java.lang.Runnable)">
<h3>handleWrite</h3>
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">handleWrite</span><wbr><span class="parameters">(<a href="EngineHandlerContext.html" title="interface in org.apache.qpid.protonj2.engine">EngineHandlerContext</a>&nbsp;context,
 <a href="../buffer/ProtonBuffer.html" title="interface in org.apache.qpid.protonj2.buffer">ProtonBuffer</a>&nbsp;buffer,
 <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;ioComplete)</span></div>
<div class="block">Writes the given bytes to the output target or if no handler in the pipeline handles this
 calls the registered output handler of the parent Engine instance.  If not output handler
 is found or not handler in the output chain consumes this write the Engine will be failed
 as an output sink is required for all low level engine writes.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>context</code> - The <a href="EngineHandlerContext.html" title="interface in org.apache.qpid.protonj2.engine"><code>EngineHandlerContext</code></a> associated with this <a href="EngineHandler.html" title="interface in org.apache.qpid.protonj2.engine"><code>EngineHandler</code></a> instance.</dd>
<dd><code>buffer</code> - The <a href="../buffer/ProtonBuffer.html" title="interface in org.apache.qpid.protonj2.buffer"><code>ProtonBuffer</code></a> whose payload is to be written to the output target.</dd>
<dd><code>ioComplete</code> - A <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"><code>Runnable</code></a> callback that indicates that the I/O operation is complete</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; 2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>
