blob: c4151db436c2169382b13fe369ff86464087fee8 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>EngineSaslDriver (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="EngineSaslDriver (Qpid ProtonJ2 Parent 1.0.0-M9 API)";
}
}
catch(err) {
}
//-->
var data = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":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/EngineSaslDriver.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><a href="#nested.class.summary">Nested</a>&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 EngineSaslDriver" class="title">Interface EngineSaslDriver</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="impl/ProtonEngineNoOpSaslDriver.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonEngineNoOpSaslDriver</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">EngineSaslDriver</span></pre>
<div class="block">Driver for the Engine that exposes SASL state and configuration.
<p>
When configured for SASL authentication the SASL driver provides a view of the
current state of the authentication and allows for configuration of the SASL layer
prior to the start of the authentication process. Once authentication is complete
the driver provides a means of determining the outcome of process.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Interface</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="EngineSaslDriver.SaslState.html" title="enum in org.apache.qpid.protonj2.engine">EngineSaslDriver.SaslState</a></span></code></th>
<td class="colLast">
<div class="block">The SASL driver state used to determine at what point the current SASL negotiation process
is currently in.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="sasl/SaslClientContext.html" title="interface in org.apache.qpid.protonj2.engine.sasl">SaslClientContext</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#client()">client</a></span>()</code></th>
<td class="colLast">
<div class="block">Configure this <a href="EngineSaslDriver.html" title="interface in org.apache.qpid.protonj2.engine"><code>EngineSaslDriver</code></a> to operate in client mode and return the associated
<a href="sasl/SaslClientContext.html" title="interface in org.apache.qpid.protonj2.engine.sasl"><code>SaslClientContext</code></a> instance that should be used to complete the SASL negotiation
with the server end.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>int</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="i2" class="altColor">
<td class="colFirst"><code><a href="sasl/SaslOutcome.html" title="enum in org.apache.qpid.protonj2.engine.sasl">SaslOutcome</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSaslOutcome()">getSaslOutcome</a></span>()</code></th>
<td class="colLast">
<div class="block">Provides a low level outcome value for the SASL authentication process.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="EngineSaslDriver.SaslState.html" title="enum in org.apache.qpid.protonj2.engine">EngineSaslDriver.SaslState</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSaslState()">getSaslState</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns a SaslState that indicates the current operating state of the SASL
negotiation process or conversely if no SASL layer is configured this method
should return the disabled state.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="sasl/SaslServerContext.html" title="interface in org.apache.qpid.protonj2.engine.sasl">SaslServerContext</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#server()">server</a></span>()</code></th>
<td class="colLast">
<div class="block">Configure this <a href="EngineSaslDriver.html" title="interface in org.apache.qpid.protonj2.engine"><code>EngineSaslDriver</code></a> to operate in server mode and return the associated
<a href="sasl/SaslServerContext.html" title="interface in org.apache.qpid.protonj2.engine.sasl"><code>SaslServerContext</code></a> instance that should be used to complete the SASL negotiation
with the client end.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMaxFrameSize(int)">setMaxFrameSize</a></span>&#8203;(int&nbsp;maxFrameSize)</code></th>
<td class="colLast">
<div class="block">Set the maximum frame size the remote can send before an error is indicated.</div>
</td>
</tr>
</table>
</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="client()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>client</h4>
<pre class="methodSignature"><a href="sasl/SaslClientContext.html" title="interface in org.apache.qpid.protonj2.engine.sasl">SaslClientContext</a>&nbsp;client()</pre>
<div class="block">Configure this <a href="EngineSaslDriver.html" title="interface in org.apache.qpid.protonj2.engine"><code>EngineSaslDriver</code></a> to operate in client mode and return the associated
<a href="sasl/SaslClientContext.html" title="interface in org.apache.qpid.protonj2.engine.sasl"><code>SaslClientContext</code></a> instance that should be used to complete the SASL negotiation
with the server end.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the SASL client context.</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 engine is already in server mode or the engine has not
been configure with SASL support.</dd>
</dl>
</li>
</ul>
<a id="server()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>server</h4>
<pre class="methodSignature"><a href="sasl/SaslServerContext.html" title="interface in org.apache.qpid.protonj2.engine.sasl">SaslServerContext</a>&nbsp;server()</pre>
<div class="block">Configure this <a href="EngineSaslDriver.html" title="interface in org.apache.qpid.protonj2.engine"><code>EngineSaslDriver</code></a> to operate in server mode and return the associated
<a href="sasl/SaslServerContext.html" title="interface in org.apache.qpid.protonj2.engine.sasl"><code>SaslServerContext</code></a> instance that should be used to complete the SASL negotiation
with the client end.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the SASL server context.</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 engine is already in client mode or the engine has not
been configure with SASL support.</dd>
</dl>
</li>
</ul>
<a id="getSaslState()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSaslState</h4>
<pre class="methodSignature"><a href="EngineSaslDriver.SaslState.html" title="enum in org.apache.qpid.protonj2.engine">EngineSaslDriver.SaslState</a>&nbsp;getSaslState()</pre>
<div class="block">Returns a SaslState that indicates the current operating state of the SASL
negotiation process or conversely if no SASL layer is configured this method
should return the disabled state. This method must never return a null result.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the current state of SASL Authentication.</dd>
</dl>
</li>
</ul>
<a id="getSaslOutcome()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSaslOutcome</h4>
<pre class="methodSignature"><a href="sasl/SaslOutcome.html" title="enum in org.apache.qpid.protonj2.engine.sasl">SaslOutcome</a>&nbsp;getSaslOutcome()</pre>
<div class="block">Provides a low level outcome value for the SASL authentication process.
<p>
If the SASL exchange is ongoing or the SASL layer was skipped because a
particular engine configuration allows such behavior then this method
should return null to indicate no SASL outcome is available.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the SASL outcome code that results from authentication</dd>
</dl>
</li>
</ul>
<a id="getMaxFrameSize()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxFrameSize</h4>
<pre class="methodSignature">int&nbsp;getMaxFrameSize()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the currently configured max frame size allowed for SASL frames.</dd>
</dl>
</li>
</ul>
<a id="setMaxFrameSize(int)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>setMaxFrameSize</h4>
<pre class="methodSignature">void&nbsp;setMaxFrameSize&#8203;(int&nbsp;maxFrameSize)</pre>
<div class="block">Set the maximum frame size the remote can send before an error is indicated.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>maxFrameSize</code> - The maximum allowed frame size from the remote sender.</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/EngineSaslDriver.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><a href="#nested.class.summary">Nested</a>&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>