<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>StreamSenderOptions (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="StreamSenderOptions (Qpid ProtonJ2 Parent 1.0.0-M9 API)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete 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/StreamSenderOptions.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&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.client</a></div>
<h2 title="Class StreamSenderOptions" class="title">Class StreamSenderOptions</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="LinkOptions.html" title="class in org.apache.qpid.protonj2.client">org.apache.qpid.protonj2.client.LinkOptions</a>&lt;<a href="StreamSenderOptions.html" title="class in org.apache.qpid.protonj2.client">StreamSenderOptions</a>&gt;</li>
<li>
<ul class="inheritance">
<li>org.apache.qpid.protonj2.client.StreamSenderOptions</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Cloneable</a></code></dd>
</dl>
<hr>
<pre>public class <span class="typeNameLabel">StreamSenderOptions</span>
extends <a href="LinkOptions.html" title="class in org.apache.qpid.protonj2.client">LinkOptions</a>&lt;<a href="StreamSenderOptions.html" title="class in org.apache.qpid.protonj2.client">StreamSenderOptions</a>&gt;
implements <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Cloneable</a></pre>
<div class="block">Options class that controls various aspects of a <a href="StreamSenderMessage.html" title="interface in org.apache.qpid.protonj2.client"><code>StreamSenderMessage</code></a> instance and how
 a streamed message transfer is written.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DEFAULT_PENDING_WRITES_BUFFER_SIZE">DEFAULT_PENDING_WRITES_BUFFER_SIZE</a></span></code></th>
<td class="colLast">
<div class="block">Defines the default pending write buffering size which is used to control how much outgoing
 data can be buffered for local writing before the sender has back pressured applied to avoid
 out of memory conditions due to overly large pending batched writes.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MIN_BUFFER_SIZE_LIMIT">MIN_BUFFER_SIZE_LIMIT</a></span></code></th>
<td class="colLast">
<div class="block">Defines the default minimum size that the context write buffer will allocate
 which drives the interval auto flushing of written data for this context.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">StreamSenderOptions</a></span>()</code></th>
<td class="colLast">
<div class="block">Creates a <a href="StreamSenderOptions.html" title="class in org.apache.qpid.protonj2.client"><code>StreamSenderOptions</code></a> instance with default values for all options</div>
</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.apache.qpid.protonj2.client.StreamSenderOptions)">StreamSenderOptions</a></span>&#8203;(<a href="StreamSenderOptions.html" title="class in org.apache.qpid.protonj2.client">StreamSenderOptions</a>&nbsp;options)</code></th>
<td class="colLast">
<div class="block">Create a <a href="StreamSenderOptions.html" title="class in org.apache.qpid.protonj2.client"><code>StreamSenderOptions</code></a> instance that copies all configuration from the given
 <a href="StreamSenderOptions.html" title="class in org.apache.qpid.protonj2.client"><code>StreamSenderOptions</code></a> instance.</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="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete 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="StreamSenderOptions.html" title="class in org.apache.qpid.protonj2.client">StreamSenderOptions</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#clone()">clone</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected <a href="StreamSenderOptions.html" title="class in org.apache.qpid.protonj2.client">StreamSenderOptions</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#copyInto(org.apache.qpid.protonj2.client.StreamSenderOptions)">copyInto</a></span>&#8203;(<a href="StreamSenderOptions.html" title="class in org.apache.qpid.protonj2.client">StreamSenderOptions</a>&nbsp;other)</code></th>
<td class="colLast">
<div class="block">Copy all options from this <a href="StreamSenderOptions.html" title="class in org.apache.qpid.protonj2.client"><code>StreamSenderOptions</code></a> instance into the instance
 provided.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/function/Supplier.html?is-external=true" title="class or interface in java.util.function" class="externalLink">Supplier</a>&lt;<a href="../engine/DeliveryTagGenerator.html" title="interface in org.apache.qpid.protonj2.engine">DeliveryTagGenerator</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#deliveryTagGeneratorSupplier()">deliveryTagGeneratorSupplier</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="StreamSenderOptions.html" title="class in org.apache.qpid.protonj2.client">StreamSenderOptions</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#deliveryTagGeneratorSupplier(java.util.function.Supplier)">deliveryTagGeneratorSupplier</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/function/Supplier.html?is-external=true" title="class or interface in java.util.function" class="externalLink">Supplier</a>&lt;<a href="../engine/DeliveryTagGenerator.html" title="interface in org.apache.qpid.protonj2.engine">DeliveryTagGenerator</a>&gt;&nbsp;supplier)</code></th>
<td class="colLast">
<div class="block">Configures a <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/function/Supplier.html?is-external=true" title="class or interface in java.util.function" class="externalLink"><code>Supplier</code></a> which provides unique instances of <a href="../engine/DeliveryTagGenerator.html" title="interface in org.apache.qpid.protonj2.engine"><code>DeliveryTagGenerator</code></a> objects
 for any <a href="StreamSender.html" title="interface in org.apache.qpid.protonj2.client"><code>StreamSender</code></a> created using these options.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#pendingWritesBufferSize()">pendingWritesBufferSize</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="StreamSenderOptions.html" title="class in org.apache.qpid.protonj2.client">StreamSenderOptions</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#pendingWritesBufferSize(int)">pendingWritesBufferSize</a></span>&#8203;(int&nbsp;pendingWritesBufferSize)</code></th>
<td class="colLast">
<div class="block">Sets the overall number of bytes the stream sender will allow to be pending for write before applying
 back pressure to the stream write caller.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>protected <a href="StreamSenderOptions.html" title="class in org.apache.qpid.protonj2.client">StreamSenderOptions</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#self()">self</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sendTimeout()">sendTimeout</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="StreamSenderOptions.html" title="class in org.apache.qpid.protonj2.client">StreamSenderOptions</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sendTimeout(long)">sendTimeout</a></span>&#8203;(long&nbsp;sendTimeout)</code></th>
<td class="colLast">
<div class="block">Configures the timeout used when awaiting a send operation to complete.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="StreamSenderOptions.html" title="class in org.apache.qpid.protonj2.client">StreamSenderOptions</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sendTimeout(long,java.util.concurrent.TimeUnit)">sendTimeout</a></span>&#8203;(long&nbsp;timeout,
           <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent" class="externalLink">TimeUnit</a>&nbsp;units)</code></th>
<td class="colLast">
<div class="block">Configures the timeout used when awaiting a send operation to complete.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#writeBufferSize()">writeBufferSize</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="StreamSenderOptions.html" title="class in org.apache.qpid.protonj2.client">StreamSenderOptions</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#writeBufferSize(int)">writeBufferSize</a></span>&#8203;(int&nbsp;writeBufferSize)</code></th>
<td class="colLast">
<div class="block">Sets the overall number of bytes the stream sender will buffer before automatically flushing the
 currently buffered bytes.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.qpid.protonj2.client.LinkOptions">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.qpid.protonj2.client.<a href="LinkOptions.html" title="class in org.apache.qpid.protonj2.client">LinkOptions</a></h3>
<code><a href="LinkOptions.html#autoSettle()">autoSettle</a>, <a href="LinkOptions.html#autoSettle(boolean)">autoSettle</a>, <a href="LinkOptions.html#closeTimeout()">closeTimeout</a>, <a href="LinkOptions.html#closeTimeout(long)">closeTimeout</a>, <a href="LinkOptions.html#closeTimeout(long,java.util.concurrent.TimeUnit)">closeTimeout</a>, <a href="LinkOptions.html#copyInto(org.apache.qpid.protonj2.client.LinkOptions)">copyInto</a>, <a href="LinkOptions.html#deliveryMode()">deliveryMode</a>, <a href="LinkOptions.html#deliveryMode(org.apache.qpid.protonj2.client.DeliveryMode)">deliveryMode</a>, <a href="LinkOptions.html#desiredCapabilities()">desiredCapabilities</a>, <a href="LinkOptions.html#desiredCapabilities(java.lang.String...)">desiredCapabilities</a>, <a href="LinkOptions.html#linkName()">linkName</a>, <a href="LinkOptions.html#linkName(java.lang.String)">linkName</a>, <a href="LinkOptions.html#offeredCapabilities()">offeredCapabilities</a>, <a href="LinkOptions.html#offeredCapabilities(java.lang.String...)">offeredCapabilities</a>, <a href="LinkOptions.html#openTimeout()">openTimeout</a>, <a href="LinkOptions.html#openTimeout(long)">openTimeout</a>, <a href="LinkOptions.html#openTimeout(long,java.util.concurrent.TimeUnit)">openTimeout</a>, <a href="LinkOptions.html#properties()">properties</a>, <a href="LinkOptions.html#properties(java.util.Map)">properties</a>, <a href="LinkOptions.html#requestTimeout()">requestTimeout</a>, <a href="LinkOptions.html#requestTimeout(long)">requestTimeout</a>, <a href="LinkOptions.html#requestTimeout(long,java.util.concurrent.TimeUnit)">requestTimeout</a>, <a href="LinkOptions.html#sourceOptions()">sourceOptions</a>, <a href="LinkOptions.html#targetOptions()">targetOptions</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>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?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink">wait</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a id="DEFAULT_PENDING_WRITES_BUFFER_SIZE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_PENDING_WRITES_BUFFER_SIZE</h4>
<pre>public static final&nbsp;int DEFAULT_PENDING_WRITES_BUFFER_SIZE</pre>
<div class="block">Defines the default pending write buffering size which is used to control how much outgoing
 data can be buffered for local writing before the sender has back pressured applied to avoid
 out of memory conditions due to overly large pending batched writes.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.qpid.protonj2.client.StreamSenderOptions.DEFAULT_PENDING_WRITES_BUFFER_SIZE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="MIN_BUFFER_SIZE_LIMIT">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>MIN_BUFFER_SIZE_LIMIT</h4>
<pre>public static final&nbsp;int MIN_BUFFER_SIZE_LIMIT</pre>
<div class="block">Defines the default minimum size that the context write buffer will allocate
 which drives the interval auto flushing of written data for this context.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.qpid.protonj2.client.StreamSenderOptions.MIN_BUFFER_SIZE_LIMIT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>StreamSenderOptions</h4>
<pre>public&nbsp;StreamSenderOptions()</pre>
<div class="block">Creates a <a href="StreamSenderOptions.html" title="class in org.apache.qpid.protonj2.client"><code>StreamSenderOptions</code></a> instance with default values for all options</div>
</li>
</ul>
<a id="&lt;init&gt;(org.apache.qpid.protonj2.client.StreamSenderOptions)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>StreamSenderOptions</h4>
<pre>public&nbsp;StreamSenderOptions&#8203;(<a href="StreamSenderOptions.html" title="class in org.apache.qpid.protonj2.client">StreamSenderOptions</a>&nbsp;options)</pre>
<div class="block">Create a <a href="StreamSenderOptions.html" title="class in org.apache.qpid.protonj2.client"><code>StreamSenderOptions</code></a> instance that copies all configuration from the given
 <a href="StreamSenderOptions.html" title="class in org.apache.qpid.protonj2.client"><code>StreamSenderOptions</code></a> instance.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>options</code> - The options instance to copy all configuration values from.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a id="clone()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clone</h4>
<pre class="methodSignature">public&nbsp;<a href="StreamSenderOptions.html" title="class in org.apache.qpid.protonj2.client">StreamSenderOptions</a>&nbsp;clone()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang" class="externalLink">clone</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></code></dd>
</dl>
</li>
</ul>
<a id="copyInto(org.apache.qpid.protonj2.client.StreamSenderOptions)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copyInto</h4>
<pre class="methodSignature">protected&nbsp;<a href="StreamSenderOptions.html" title="class in org.apache.qpid.protonj2.client">StreamSenderOptions</a>&nbsp;copyInto&#8203;(<a href="StreamSenderOptions.html" title="class in org.apache.qpid.protonj2.client">StreamSenderOptions</a>&nbsp;other)</pre>
<div class="block">Copy all options from this <a href="StreamSenderOptions.html" title="class in org.apache.qpid.protonj2.client"><code>StreamSenderOptions</code></a> instance into the instance
 provided.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>other</code> - the target of this copy operation.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="StreamSenderOptions.html" title="class in org.apache.qpid.protonj2.client"><code>StreamSenderOptions</code></a> instance that was given.</dd>
</dl>
</li>
</ul>
<a id="writeBufferSize()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeBufferSize</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;writeBufferSize()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the configured context write buffering limit for the associated <a href="StreamSender.html" title="interface in org.apache.qpid.protonj2.client"><code>StreamSender</code></a></dd>
</dl>
</li>
</ul>
<a id="writeBufferSize(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeBufferSize</h4>
<pre class="methodSignature">public&nbsp;<a href="StreamSenderOptions.html" title="class in org.apache.qpid.protonj2.client">StreamSenderOptions</a>&nbsp;writeBufferSize&#8203;(int&nbsp;writeBufferSize)</pre>
<div class="block">Sets the overall number of bytes the stream sender will buffer before automatically flushing the
 currently buffered bytes.  By default the stream sender implementation chooses a value for this
 buffer limit based on the configured frame size limits of the connection.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>writeBufferSize</code> - The number of bytes that can be written before the context performs a flush operation.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <a href="StreamSenderOptions.html" title="class in org.apache.qpid.protonj2.client"><code>StreamSenderOptions</code></a> instance.</dd>
</dl>
</li>
</ul>
<a id="pendingWritesBufferSize()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>pendingWritesBufferSize</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;pendingWritesBufferSize()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the configured pending write buffering limit for the associated <a href="StreamSender.html" title="interface in org.apache.qpid.protonj2.client"><code>StreamSender</code></a></dd>
</dl>
</li>
</ul>
<a id="pendingWritesBufferSize(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>pendingWritesBufferSize</h4>
<pre class="methodSignature">public&nbsp;<a href="StreamSenderOptions.html" title="class in org.apache.qpid.protonj2.client">StreamSenderOptions</a>&nbsp;pendingWritesBufferSize&#8203;(int&nbsp;pendingWritesBufferSize)</pre>
<div class="block">Sets the overall number of bytes the stream sender will allow to be pending for write before applying
 back pressure to the stream write caller.  By default the stream sender implementation chooses a value
 for this pending write limit based on the configured frame size limits of the connection.  This is an
 advanced option and should not be used unless the impact of doing so is understood by the user.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>pendingWritesBufferSize</code> - The number of bytes that can be pending for write before the sender applies back pressure.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <a href="StreamSenderOptions.html" title="class in org.apache.qpid.protonj2.client"><code>StreamSenderOptions</code></a> instance.</dd>
</dl>
</li>
</ul>
<a id="sendTimeout()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sendTimeout</h4>
<pre class="methodSignature">public&nbsp;long&nbsp;sendTimeout()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the timeout used when awaiting a response from the remote when a resource is message send.</dd>
</dl>
</li>
</ul>
<a id="sendTimeout(long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sendTimeout</h4>
<pre class="methodSignature">public&nbsp;<a href="StreamSenderOptions.html" title="class in org.apache.qpid.protonj2.client">StreamSenderOptions</a>&nbsp;sendTimeout&#8203;(long&nbsp;sendTimeout)</pre>
<div class="block">Configures the timeout used when awaiting a send operation to complete.  A send will block if the
 remote has not granted the <a href="Sender.html" title="interface in org.apache.qpid.protonj2.client"><code>Sender</code></a> or the <a href="Session.html" title="interface in org.apache.qpid.protonj2.client"><code>Session</code></a> credit to do so, if the send blocks
 for longer than this timeout the send call will fail with an <a href="exceptions/ClientSendTimedOutException.html" title="class in org.apache.qpid.protonj2.client.exceptions"><code>ClientSendTimedOutException</code></a>
 exception to indicate that the send did not complete.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sendTimeout</code> - Timeout value in milliseconds to wait for a remote response.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <a href="StreamSenderOptions.html" title="class in org.apache.qpid.protonj2.client"><code>StreamSenderOptions</code></a> instance.</dd>
</dl>
</li>
</ul>
<a id="sendTimeout(long,java.util.concurrent.TimeUnit)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sendTimeout</h4>
<pre class="methodSignature">public&nbsp;<a href="StreamSenderOptions.html" title="class in org.apache.qpid.protonj2.client">StreamSenderOptions</a>&nbsp;sendTimeout&#8203;(long&nbsp;timeout,
                                       <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent" class="externalLink">TimeUnit</a>&nbsp;units)</pre>
<div class="block">Configures the timeout used when awaiting a send operation to complete.  A send will block if the
 remote has not granted the <a href="StreamSender.html" title="interface in org.apache.qpid.protonj2.client"><code>StreamSender</code></a> or the <a href="Session.html" title="interface in org.apache.qpid.protonj2.client"><code>Session</code></a> credit to do so, if the send blocks
 for longer than this timeout the send call will fail with an <a href="exceptions/ClientSendTimedOutException.html" title="class in org.apache.qpid.protonj2.client.exceptions"><code>ClientSendTimedOutException</code></a>
 exception to indicate that the send did not complete.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>timeout</code> - Timeout value to wait for a remote response.</dd>
<dd><code>units</code> - The <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent" class="externalLink"><code>TimeUnit</code></a> that defines the timeout span.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <a href="StreamSenderOptions.html" title="class in org.apache.qpid.protonj2.client"><code>StreamSenderOptions</code></a> instance.</dd>
</dl>
</li>
</ul>
<a id="deliveryTagGeneratorSupplier(java.util.function.Supplier)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deliveryTagGeneratorSupplier</h4>
<pre class="methodSignature">public&nbsp;<a href="StreamSenderOptions.html" title="class in org.apache.qpid.protonj2.client">StreamSenderOptions</a>&nbsp;deliveryTagGeneratorSupplier&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/function/Supplier.html?is-external=true" title="class or interface in java.util.function" class="externalLink">Supplier</a>&lt;<a href="../engine/DeliveryTagGenerator.html" title="interface in org.apache.qpid.protonj2.engine">DeliveryTagGenerator</a>&gt;&nbsp;supplier)</pre>
<div class="block">Configures a <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/function/Supplier.html?is-external=true" title="class or interface in java.util.function" class="externalLink"><code>Supplier</code></a> which provides unique instances of <a href="../engine/DeliveryTagGenerator.html" title="interface in org.apache.qpid.protonj2.engine"><code>DeliveryTagGenerator</code></a> objects
 for any <a href="StreamSender.html" title="interface in org.apache.qpid.protonj2.client"><code>StreamSender</code></a> created using these options.
 <p>
 The client sender will use a default <a href="../engine/DeliveryTagGenerator.html" title="interface in org.apache.qpid.protonj2.engine"><code>DeliveryTagGenerator</code></a> under normal circumstances and the
 user is not required to configure a <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/function/Supplier.html?is-external=true" title="class or interface in java.util.function" class="externalLink"><code>Supplier</code></a>. In some cases where the user is communicating
 with a system that requires a specific format of delivery tag this option allows use of a custom
 generator. The caller is responsible for providing a supplier that will create a unique instance of
 a tag generator as they are not meant to be shared amongst senders. Once a sender has been created
 the tag generator it uses cannot be changed so future calls to this method will not affect previously
 created <a href="StreamSender.html" title="interface in org.apache.qpid.protonj2.client"><code>StreamSender</code></a> instances.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>supplier</code> - The <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/function/Supplier.html?is-external=true" title="class or interface in java.util.function" class="externalLink"><code>Supplier</code></a> of <a href="../engine/DeliveryTagGenerator.html" title="interface in org.apache.qpid.protonj2.engine"><code>DeliveryTagGenerator</code></a> instances.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="StreamSenderOptions.html" title="class in org.apache.qpid.protonj2.client"><code>StreamSenderOptions</code></a> instance that was given.</dd>
</dl>
</li>
</ul>
<a id="deliveryTagGeneratorSupplier()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deliveryTagGeneratorSupplier</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/function/Supplier.html?is-external=true" title="class or interface in java.util.function" class="externalLink">Supplier</a>&lt;<a href="../engine/DeliveryTagGenerator.html" title="interface in org.apache.qpid.protonj2.engine">DeliveryTagGenerator</a>&gt;&nbsp;deliveryTagGeneratorSupplier()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the configured delivery tag <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/function/Supplier.html?is-external=true" title="class or interface in java.util.function" class="externalLink"><code>Supplier</code></a> or null if none was set.</dd>
</dl>
</li>
</ul>
<a id="self()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>self</h4>
<pre class="methodSignature">protected&nbsp;<a href="StreamSenderOptions.html" title="class in org.apache.qpid.protonj2.client">StreamSenderOptions</a>&nbsp;self()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="LinkOptions.html#self()">self</a></code>&nbsp;in class&nbsp;<code><a href="LinkOptions.html" title="class in org.apache.qpid.protonj2.client">LinkOptions</a>&lt;<a href="StreamSenderOptions.html" title="class in org.apache.qpid.protonj2.client">StreamSenderOptions</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the true derived type instance for use in this class.</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/StreamSenderOptions.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&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>
