| <!DOCTYPE HTML> |
| <html lang="en"> |
| <head> |
| <!-- Generated by javadoc (17) on Thu Sep 15 14:13:16 CDT 2022 --> |
| <title>LogarithmicArrayByteBufferPool (Eclipse Jetty API Doc - v11.0.12)</title> |
| <meta name="viewport" content="width=device-width, initial-scale=1"> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <meta name="dc.created" content="2022-09-15"> |
| <meta name="description" content="declaration: package: org.eclipse.jetty.io, class: LogarithmicArrayByteBufferPool"> |
| <meta name="generator" content="javadoc/ClassWriterImpl"> |
| <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style"> |
| <link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.min.css" title="Style"> |
| <link rel="stylesheet" type="text/css" href="../../../../jquery-ui.overrides.css" title="Style"> |
| <script type="text/javascript" src="../../../../script.js"></script> |
| <script type="text/javascript" src="../../../../script-dir/jquery-3.5.1.min.js"></script> |
| <script type="text/javascript" src="../../../../script-dir/jquery-ui.min.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"; |
| var pathtoroot = "../../../../"; |
| loadScripts(document, 'script');</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/LogarithmicArrayByteBufferPool.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="../../../../index-all.html">Index</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: </li> |
| <li><a href="#nested-class-summary">Nested</a> | </li> |
| <li><a href="#field-summary">Field</a> | </li> |
| <li><a href="#constructor-summary">Constr</a> | </li> |
| <li><a href="#method-summary">Method</a></li> |
| </ul> |
| <ul class="sub-nav-list"> |
| <li>Detail: </li> |
| <li><a href="#field-detail">Field</a> | </li> |
| <li><a href="#constructor-detail">Constr</a> | </li> |
| <li><a href="#method-detail">Method</a></li> |
| </ul> |
| </div> |
| <div class="nav-list-search"><label for="search-input">SEARCH:</label> |
| <input type="text" id="search-input" value="search" disabled="disabled"> |
| <input type="reset" id="reset-button" value="reset" disabled="disabled"> |
| </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> <a href="package-summary.html">org.eclipse.jetty.io</a></div> |
| <h1 title="Class LogarithmicArrayByteBufferPool" class="title">Class LogarithmicArrayByteBufferPool</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="ArrayByteBufferPool.html" title="class in org.eclipse.jetty.io">org.eclipse.jetty.io.ArrayByteBufferPool</a> |
| <div class="inheritance">org.eclipse.jetty.io.LogarithmicArrayByteBufferPool</div> |
| </div> |
| </div> |
| <section class="class-description" id="class-description"> |
| <dl class="notes"> |
| <dt>All Implemented Interfaces:</dt> |
| <dd><code><a href="ByteBufferPool.html" title="interface in org.eclipse.jetty.io">ByteBufferPool</a></code>, <code><a href="../util/component/Dumpable.html" title="interface in org.eclipse.jetty.util.component">Dumpable</a></code></dd> |
| </dl> |
| <hr> |
| <div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">LogarithmicArrayByteBufferPool</span> |
| <span class="extends-implements">extends <a href="ArrayByteBufferPool.html" title="class in org.eclipse.jetty.io">ArrayByteBufferPool</a></span></div> |
| <div class="block">Extension of the <a href="ArrayByteBufferPool.html" title="class in org.eclipse.jetty.io"><code>ArrayByteBufferPool</code></a> whose bucket sizes increase exponentially instead of linearly. |
| Each bucket will be double the size of the previous bucket, this decreases the amounts of buckets required |
| which can lower total memory usage if buffers are often being acquired of different sizes. However as there are |
| fewer buckets this will also increase the contention on each bucket.</div> |
| </section> |
| <section class="summary"> |
| <ul class="summary-list"> |
| <!-- ======== NESTED CLASS SUMMARY ======== --> |
| <li> |
| <section class="nested-class-summary" id="nested-class-summary"> |
| <h2>Nested Class Summary</h2> |
| <div class="caption"><span>Nested Classes</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">Class</div> |
| <div class="table-header col-last">Description</div> |
| <div class="col-first even-row-color"><code>static class </code></div> |
| <div class="col-second even-row-color"><code><a href="LogarithmicArrayByteBufferPool.LogarithmicRetainablePool.html" class="type-name-link" title="class in org.eclipse.jetty.io">LogarithmicArrayByteBufferPool.LogarithmicRetainablePool</a></code></div> |
| <div class="col-last even-row-color"> |
| <div class="block">A variant of the <a href="ArrayRetainableByteBufferPool.html" title="class in org.eclipse.jetty.io"><code>ArrayRetainableByteBufferPool</code></a> that |
| uses buckets of buffers that increase in size by a power of |
| 2 (eg 1k, 2k, 4k, 8k, etc.).</div> |
| </div> |
| </div> |
| <div class="inherited-list"> |
| <h2 id="nested-classes-inherited-from-class-org.eclipse.jetty.io.ArrayByteBufferPool">Nested classes/interfaces inherited from class org.eclipse.jetty.io.<a href="ArrayByteBufferPool.html" title="class in org.eclipse.jetty.io">ArrayByteBufferPool</a></h2> |
| <code><a href="ArrayByteBufferPool.Retained.html" title="class in org.eclipse.jetty.io">ArrayByteBufferPool.Retained</a></code></div> |
| <div class="inherited-list"> |
| <h2 id="nested-classes-inherited-from-class-org.eclipse.jetty.io.ByteBufferPool">Nested classes/interfaces inherited from interface org.eclipse.jetty.io.<a href="ByteBufferPool.html" title="interface in org.eclipse.jetty.io">ByteBufferPool</a></h2> |
| <code><a href="ByteBufferPool.Lease.html" title="class in org.eclipse.jetty.io">ByteBufferPool.Lease</a></code></div> |
| <div class="inherited-list"> |
| <h2 id="nested-classes-inherited-from-class-org.eclipse.jetty.util.component.Dumpable">Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.<a href="../util/component/Dumpable.html" title="interface in org.eclipse.jetty.util.component">Dumpable</a></h2> |
| <code><a href="../util/component/Dumpable.DumpableContainer.html" title="interface in org.eclipse.jetty.util.component">Dumpable.DumpableContainer</a></code></div> |
| </section> |
| </li> |
| <!-- =========== 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 int</code></div> |
| <div class="col-second even-row-color"><code><a href="#DEFAULT_FACTOR" class="member-name-link">DEFAULT_FACTOR</a></code></div> |
| <div class="col-last even-row-color"> </div> |
| <div class="col-first odd-row-color"><code>static final int</code></div> |
| <div class="col-second odd-row-color"><code><a href="#DEFAULT_MAX_CAPACITY_BY_FACTOR" class="member-name-link">DEFAULT_MAX_CAPACITY_BY_FACTOR</a></code></div> |
| <div class="col-last odd-row-color"> </div> |
| </div> |
| <div class="inherited-list"> |
| <h3 id="fields-inherited-from-class-org.eclipse.jetty.util.component.Dumpable">Fields inherited from interface org.eclipse.jetty.util.component.<a href="../util/component/Dumpable.html" title="interface in org.eclipse.jetty.util.component">Dumpable</a></h3> |
| <code><a href="../util/component/Dumpable.html#KEY">KEY</a></code></div> |
| </section> |
| </li> |
| <!-- ======== CONSTRUCTOR SUMMARY ======== --> |
| <li> |
| <section class="constructor-summary" id="constructor-summary"> |
| <h2>Constructor Summary</h2> |
| <div class="caption"><span>Constructors</span></div> |
| <div class="summary-table two-column-summary"> |
| <div class="table-header col-first">Constructor</div> |
| <div class="table-header col-last">Description</div> |
| <div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">LogarithmicArrayByteBufferPool</a>()</code></div> |
| <div class="col-last even-row-color"> |
| <div class="block">Creates a new ByteBufferPool with a default configuration.</div> |
| </div> |
| <div class="col-constructor-name odd-row-color"><code><a href="#%3Cinit%3E(int,int)" class="member-name-link">LogarithmicArrayByteBufferPool</a><wbr>(int minCapacity, |
| int maxCapacity)</code></div> |
| <div class="col-last odd-row-color"> |
| <div class="block">Creates a new ByteBufferPool with the given configuration.</div> |
| </div> |
| <div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(int,int,int)" class="member-name-link">LogarithmicArrayByteBufferPool</a><wbr>(int minCapacity, |
| int maxCapacity, |
| int maxQueueLength)</code></div> |
| <div class="col-last even-row-color"> |
| <div class="block">Creates a new ByteBufferPool with the given configuration.</div> |
| </div> |
| <div class="col-constructor-name odd-row-color"><code><a href="#%3Cinit%3E(int,int,int,long,long)" class="member-name-link">LogarithmicArrayByteBufferPool</a><wbr>(int minCapacity, |
| int maxCapacity, |
| int maxQueueLength, |
| long maxHeapMemory, |
| long maxDirectMemory)</code></div> |
| <div class="col-last odd-row-color"> |
| <div class="block">Creates a new ByteBufferPool with the given configuration.</div> |
| </div> |
| <div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(int,int,int,long,long,long,long)" class="member-name-link">LogarithmicArrayByteBufferPool</a><wbr>(int minCapacity, |
| int maxCapacity, |
| int maxQueueLength, |
| long maxHeapMemory, |
| long maxDirectMemory, |
| long retainedHeapMemory, |
| long retainedDirectMemory)</code></div> |
| <div class="col-last even-row-color"> |
| <div class="block">Creates a new ByteBufferPool with the given configuration.</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><button id="method-summary-table-tab6" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab6', 3)" class="table-tab">Deprecated 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="RetainableByteBufferPool.html" title="interface in org.eclipse.jetty.io">RetainableByteBufferPool</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#asRetainableByteBufferPool()" class="member-name-link">asRetainableByteBufferPool</a>()</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Get this pool as a <a href="RetainableByteBufferPool.html" title="interface in org.eclipse.jetty.io"><code>RetainableByteBufferPool</code></a>, which supports reference counting of the |
| buffers and possibly a more efficient lookup mechanism based on the <a href="../util/Pool.html" title="class in org.eclipse.jetty.util"><code>Pool</code></a> class.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected int</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#bucketFor(int)" class="member-name-link">bucketFor</a><wbr>(int capacity)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected int</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#capacityFor(int)" class="member-name-link">capacityFor</a><wbr>(int bucket)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code>protected void</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#decrementMemory(java.nio.ByteBuffer)" class="member-name-link">decrementMemory</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/ByteBuffer.html" title="class or interface in java.nio" class="external-link">ByteBuffer</a> buffer)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"> |
| <div class="block"><span class="deprecated-label">Deprecated.</span></div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected int</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getCapacityFactor()" class="member-name-link">getCapacityFactor</a>()</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>long</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getDirectMemory()" class="member-name-link">getDirectMemory</a>()</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>long</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getHeapMemory()" class="member-name-link">getHeapMemory</a>()</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected int</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getMaxBucketSize()" class="member-name-link">getMaxBucketSize</a>()</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected int</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getMaxCapacity()" class="member-name-link">getMaxCapacity</a>()</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>long</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getMaxDirectMemory()" class="member-name-link">getMaxDirectMemory</a>()</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>long</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getMaxHeapMemory()" class="member-name-link">getMaxHeapMemory</a>()</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>long</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getMemory(boolean)" class="member-name-link">getMemory</a><wbr>(boolean direct)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code>protected void</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#incrementMemory(java.nio.ByteBuffer)" class="member-name-link">incrementMemory</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/ByteBuffer.html" title="class or interface in java.nio" class="external-link">ByteBuffer</a> buffer)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"> |
| <div class="block"><span class="deprecated-label">Deprecated.</span></div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="RetainableByteBufferPool.html" title="interface in org.eclipse.jetty.io">RetainableByteBufferPool</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#newRetainableByteBufferPool(int,int,int,long,long)" class="member-name-link">newRetainableByteBufferPool</a><wbr>(int factor, |
| int maxCapacity, |
| int maxBucketSize, |
| long retainedHeapMemory, |
| long retainedDirectMemory)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected void</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#releaseExcessMemory(boolean,java.util.function.Consumer)" class="member-name-link">releaseExcessMemory</a><wbr>(boolean direct, |
| <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><<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Boolean.html" title="class or interface in java.lang" class="external-link">Boolean</a>> clearFn)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected void</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#releaseMemory(boolean)" class="member-name-link">releaseMemory</a><wbr>(boolean direct)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div> |
| </div> |
| </div> |
| </div> |
| <div class="inherited-list"> |
| <h3 id="methods-inherited-from-class-org.eclipse.jetty.io.ArrayByteBufferPool">Methods inherited from class org.eclipse.jetty.io.<a href="ArrayByteBufferPool.html" title="class in org.eclipse.jetty.io">ArrayByteBufferPool</a></h3> |
| <code><a href="ArrayByteBufferPool.html#acquire(int,boolean)">acquire</a>, <a href="ArrayByteBufferPool.html#bucketFor(int,boolean)">bucketFor</a>, <a href="ArrayByteBufferPool.html#clear()">clear</a>, <a href="ArrayByteBufferPool.html#dump(java.lang.Appendable,java.lang.String)">dump</a>, <a href="ArrayByteBufferPool.html#getDirectByteBufferCount()">getDirectByteBufferCount</a>, <a href="ArrayByteBufferPool.html#getHeapByteBufferCount()">getHeapByteBufferCount</a>, <a href="ArrayByteBufferPool.html#isDetailedDump()">isDetailedDump</a>, <a href="ArrayByteBufferPool.html#release(java.nio.ByteBuffer)">release</a>, <a href="ArrayByteBufferPool.html#setDetailedDump(boolean)">setDetailedDump</a>, <a href="ArrayByteBufferPool.html#toString()">toString</a></code></div> |
| <div class="inherited-list"> |
| <h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class 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> |
| <div class="inherited-list"> |
| <h3 id="methods-inherited-from-class-org.eclipse.jetty.io.ByteBufferPool">Methods inherited from interface org.eclipse.jetty.io.<a href="ByteBufferPool.html" title="interface in org.eclipse.jetty.io">ByteBufferPool</a></h3> |
| <code><a href="ByteBufferPool.html#newByteBuffer(int,boolean)">newByteBuffer</a>, <a href="ByteBufferPool.html#remove(java.nio.ByteBuffer)">remove</a></code></div> |
| <div class="inherited-list"> |
| <h3 id="methods-inherited-from-class-org.eclipse.jetty.util.component.Dumpable">Methods inherited from interface org.eclipse.jetty.util.component.<a href="../util/component/Dumpable.html" title="interface in org.eclipse.jetty.util.component">Dumpable</a></h3> |
| <code><a href="../util/component/Dumpable.html#dump()">dump</a>, <a href="../util/component/Dumpable.html#dumpSelf()">dumpSelf</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="DEFAULT_FACTOR"> |
| <h3>DEFAULT_FACTOR</h3> |
| <div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type">int</span> <span class="element-name">DEFAULT_FACTOR</span></div> |
| <dl class="notes"> |
| <dt>See Also:</dt> |
| <dd> |
| <ul class="see-list"> |
| <li><a href="../../../../constant-values.html#org.eclipse.jetty.io.LogarithmicArrayByteBufferPool.DEFAULT_FACTOR">Constant Field Values</a></li> |
| </ul> |
| </dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="DEFAULT_MAX_CAPACITY_BY_FACTOR"> |
| <h3>DEFAULT_MAX_CAPACITY_BY_FACTOR</h3> |
| <div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type">int</span> <span class="element-name">DEFAULT_MAX_CAPACITY_BY_FACTOR</span></div> |
| <dl class="notes"> |
| <dt>See Also:</dt> |
| <dd> |
| <ul class="see-list"> |
| <li><a href="../../../../constant-values.html#org.eclipse.jetty.io.LogarithmicArrayByteBufferPool.DEFAULT_MAX_CAPACITY_BY_FACTOR">Constant Field Values</a></li> |
| </ul> |
| </dd> |
| </dl> |
| </section> |
| </li> |
| </ul> |
| </section> |
| </li> |
| <!-- ========= CONSTRUCTOR DETAIL ======== --> |
| <li> |
| <section class="constructor-details" id="constructor-detail"> |
| <h2>Constructor Details</h2> |
| <ul class="member-list"> |
| <li> |
| <section class="detail" id="<init>()"> |
| <h3>LogarithmicArrayByteBufferPool</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="element-name">LogarithmicArrayByteBufferPool</span>()</div> |
| <div class="block">Creates a new ByteBufferPool with a default configuration.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="<init>(int,int)"> |
| <h3>LogarithmicArrayByteBufferPool</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="element-name">LogarithmicArrayByteBufferPool</span><wbr><span class="parameters">(int minCapacity, |
| int maxCapacity)</span></div> |
| <div class="block">Creates a new ByteBufferPool with the given configuration.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>minCapacity</code> - the minimum ByteBuffer capacity</dd> |
| <dd><code>maxCapacity</code> - the maximum ByteBuffer capacity</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="<init>(int,int,int)"> |
| <h3>LogarithmicArrayByteBufferPool</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="element-name">LogarithmicArrayByteBufferPool</span><wbr><span class="parameters">(int minCapacity, |
| int maxCapacity, |
| int maxQueueLength)</span></div> |
| <div class="block">Creates a new ByteBufferPool with the given configuration.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>minCapacity</code> - the minimum ByteBuffer capacity</dd> |
| <dd><code>maxCapacity</code> - the maximum ByteBuffer capacity</dd> |
| <dd><code>maxQueueLength</code> - the maximum ByteBuffer queue length</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="<init>(int,int,int,long,long)"> |
| <h3>LogarithmicArrayByteBufferPool</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="element-name">LogarithmicArrayByteBufferPool</span><wbr><span class="parameters">(int minCapacity, |
| int maxCapacity, |
| int maxQueueLength, |
| long maxHeapMemory, |
| long maxDirectMemory)</span></div> |
| <div class="block">Creates a new ByteBufferPool with the given configuration.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>minCapacity</code> - the minimum ByteBuffer capacity</dd> |
| <dd><code>maxCapacity</code> - the maximum ByteBuffer capacity</dd> |
| <dd><code>maxQueueLength</code> - the maximum ByteBuffer queue length</dd> |
| <dd><code>maxHeapMemory</code> - the max heap memory in bytes</dd> |
| <dd><code>maxDirectMemory</code> - the max direct memory in bytes</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="<init>(int,int,int,long,long,long,long)"> |
| <h3>LogarithmicArrayByteBufferPool</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="element-name">LogarithmicArrayByteBufferPool</span><wbr><span class="parameters">(int minCapacity, |
| int maxCapacity, |
| int maxQueueLength, |
| long maxHeapMemory, |
| long maxDirectMemory, |
| long retainedHeapMemory, |
| long retainedDirectMemory)</span></div> |
| <div class="block">Creates a new ByteBufferPool with the given configuration.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>minCapacity</code> - the minimum ByteBuffer capacity</dd> |
| <dd><code>maxCapacity</code> - the maximum ByteBuffer capacity</dd> |
| <dd><code>maxQueueLength</code> - the maximum ByteBuffer queue length</dd> |
| <dd><code>maxHeapMemory</code> - the max heap memory in bytes</dd> |
| <dd><code>maxDirectMemory</code> - the max direct memory in bytes</dd> |
| <dd><code>retainedHeapMemory</code> - the max heap memory in bytes, -1 for unlimited retained memory or 0 to use default heuristic</dd> |
| <dd><code>retainedDirectMemory</code> - the max direct memory in bytes, -1 for unlimited retained memory or 0 to use default heuristic</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="newRetainableByteBufferPool(int,int,int,long,long)"> |
| <h3>newRetainableByteBufferPool</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="RetainableByteBufferPool.html" title="interface in org.eclipse.jetty.io">RetainableByteBufferPool</a></span> <span class="element-name">newRetainableByteBufferPool</span><wbr><span class="parameters">(int factor, |
| int maxCapacity, |
| int maxBucketSize, |
| long retainedHeapMemory, |
| long retainedDirectMemory)</span></div> |
| <dl class="notes"> |
| <dt>Overrides:</dt> |
| <dd><code><a href="ArrayByteBufferPool.html#newRetainableByteBufferPool(int,int,int,long,long)">newRetainableByteBufferPool</a></code> in class <code><a href="ArrayByteBufferPool.html" title="class in org.eclipse.jetty.io">ArrayByteBufferPool</a></code></dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="bucketFor(int)"> |
| <h3>bucketFor</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type">int</span> <span class="element-name">bucketFor</span><wbr><span class="parameters">(int capacity)</span></div> |
| <dl class="notes"> |
| <dt>Overrides:</dt> |
| <dd><code><a href="ArrayByteBufferPool.html#bucketFor(int)">bucketFor</a></code> in class <code><a href="ArrayByteBufferPool.html" title="class in org.eclipse.jetty.io">ArrayByteBufferPool</a></code></dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="capacityFor(int)"> |
| <h3>capacityFor</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type">int</span> <span class="element-name">capacityFor</span><wbr><span class="parameters">(int bucket)</span></div> |
| <dl class="notes"> |
| <dt>Overrides:</dt> |
| <dd><code><a href="ArrayByteBufferPool.html#capacityFor(int)">capacityFor</a></code> in class <code><a href="ArrayByteBufferPool.html" title="class in org.eclipse.jetty.io">ArrayByteBufferPool</a></code></dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="releaseMemory(boolean)"> |
| <h3>releaseMemory</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type">void</span> <span class="element-name">releaseMemory</span><wbr><span class="parameters">(boolean direct)</span></div> |
| <dl class="notes"> |
| <dt>Overrides:</dt> |
| <dd><code><a href="ArrayByteBufferPool.html#releaseMemory(boolean)">releaseMemory</a></code> in class <code><a href="ArrayByteBufferPool.html" title="class in org.eclipse.jetty.io">ArrayByteBufferPool</a></code></dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="asRetainableByteBufferPool()"> |
| <h3>asRetainableByteBufferPool</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="RetainableByteBufferPool.html" title="interface in org.eclipse.jetty.io">RetainableByteBufferPool</a></span> <span class="element-name">asRetainableByteBufferPool</span>()</div> |
| <div class="block"><span class="descfrm-type-label">Description copied from interface: <code><a href="ByteBufferPool.html#asRetainableByteBufferPool()">ByteBufferPool</a></code></span></div> |
| <div class="block">Get this pool as a <a href="RetainableByteBufferPool.html" title="interface in org.eclipse.jetty.io"><code>RetainableByteBufferPool</code></a>, which supports reference counting of the |
| buffers and possibly a more efficient lookup mechanism based on the <a href="../util/Pool.html" title="class in org.eclipse.jetty.util"><code>Pool</code></a> class.</div> |
| <dl class="notes"> |
| <dt>Specified by:</dt> |
| <dd><code><a href="ByteBufferPool.html#asRetainableByteBufferPool()">asRetainableByteBufferPool</a></code> in interface <code><a href="ByteBufferPool.html" title="interface in org.eclipse.jetty.io">ByteBufferPool</a></code></dd> |
| <dt>Returns:</dt> |
| <dd>This pool as a RetainableByteBufferPool. The same instance is always returned by multiple calls to this method.</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getCapacityFactor()"> |
| <h3>getCapacityFactor</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type">int</span> <span class="element-name">getCapacityFactor</span>()</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getMaxCapacity()"> |
| <h3>getMaxCapacity</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type">int</span> <span class="element-name">getMaxCapacity</span>()</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getMaxBucketSize()"> |
| <h3>getMaxBucketSize</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type">int</span> <span class="element-name">getMaxBucketSize</span>()</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="decrementMemory(java.nio.ByteBuffer)"> |
| <h3>decrementMemory</h3> |
| <div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a> |
| </span><span class="modifiers">protected</span> <span class="return-type">void</span> <span class="element-name">decrementMemory</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/ByteBuffer.html" title="class or interface in java.nio" class="external-link">ByteBuffer</a> buffer)</span></div> |
| <div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="incrementMemory(java.nio.ByteBuffer)"> |
| <h3>incrementMemory</h3> |
| <div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a> |
| </span><span class="modifiers">protected</span> <span class="return-type">void</span> <span class="element-name">incrementMemory</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/ByteBuffer.html" title="class or interface in java.nio" class="external-link">ByteBuffer</a> buffer)</span></div> |
| <div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="releaseExcessMemory(boolean,java.util.function.Consumer)"> |
| <h3>releaseExcessMemory</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type">void</span> <span class="element-name">releaseExcessMemory</span><wbr><span class="parameters">(boolean direct, |
| <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><<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Boolean.html" title="class or interface in java.lang" class="external-link">Boolean</a>> clearFn)</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getDirectMemory()"> |
| <h3>getDirectMemory</h3> |
| <div class="member-signature"><span class="annotations"><a href="../util/annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>("The bytes retained by direct ByteBuffers") |
| </span><span class="modifiers">public</span> <span class="return-type">long</span> <span class="element-name">getDirectMemory</span>()</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getHeapMemory()"> |
| <h3>getHeapMemory</h3> |
| <div class="member-signature"><span class="annotations"><a href="../util/annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>("The bytes retained by heap ByteBuffers") |
| </span><span class="modifiers">public</span> <span class="return-type">long</span> <span class="element-name">getHeapMemory</span>()</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getMaxDirectMemory()"> |
| <h3>getMaxDirectMemory</h3> |
| <div class="member-signature"><span class="annotations"><a href="../util/annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>("The max num of bytes that can be retained from direct ByteBuffers") |
| </span><span class="modifiers">public</span> <span class="return-type">long</span> <span class="element-name">getMaxDirectMemory</span>()</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getMaxHeapMemory()"> |
| <h3>getMaxHeapMemory</h3> |
| <div class="member-signature"><span class="annotations"><a href="../util/annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>("The max num of bytes that can be retained from heap ByteBuffers") |
| </span><span class="modifiers">public</span> <span class="return-type">long</span> <span class="element-name">getMaxHeapMemory</span>()</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getMemory(boolean)"> |
| <h3>getMemory</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type">long</span> <span class="element-name">getMemory</span><wbr><span class="parameters">(boolean direct)</span></div> |
| </section> |
| </li> |
| </ul> |
| </section> |
| </li> |
| </ul> |
| </section> |
| <!-- ========= END OF CLASS DATA ========= --> |
| </main> |
| <footer role="contentinfo"> |
| <hr> |
| <p class="legal-copy"><small>Copyright © 1995–2022 <a href="https://webtide.com">Webtide</a>. All rights reserved.</small></p> |
| </footer> |
| </div> |
| </div> |
| </body> |
| </html> |