blob: e9e7e3e4af5477166615251c6674224fdb9b4de7 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>RootAllocator (Apache Arrow Java Root POM 17.0.0-SNAPSHOT API)</title>
<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="RootAllocator (Apache Arrow Java Root POM 17.0.0-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":9,"i5":9,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":9,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static 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>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/RootAllocator.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">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/arrow/memory/ReusableBuffer.html" title="interface in org.apache.arrow.memory"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/arrow/memory/ValueWithKeyIncluded.html" title="interface in org.apache.arrow.memory"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/arrow/memory/RootAllocator.html" target="_top">Frames</a></li>
<li><a href="RootAllocator.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.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>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&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 name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.arrow.memory</div>
<h2 title="Class RootAllocator" class="title">Class RootAllocator</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.arrow.memory.RootAllocator</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../org/apache/arrow/memory/BufferAllocator.html" title="interface in org.apache.arrow.memory">BufferAllocator</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">RootAllocator</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">A root allocator for using direct memory for Arrow Vectors/Arrays. Supports creating a
tree of descendant child allocators to facilitate better instrumentation of memory
allocations.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink">org.apache.arrow.memory.BaseAllocator.Verbosity</span></code>
<div class="block">Enum for logging verbosity.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/memory/RootAllocator.html#DEBUG">DEBUG</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/memory/RootAllocator.html#DEBUG_ALLOCATOR">DEBUG_ALLOCATOR</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/memory/RootAllocator.html#DEBUG_LOG_LENGTH">DEBUG_LOG_LENGTH</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static org.apache.arrow.memory.BaseAllocator.Config</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/memory/RootAllocator.html#DEFAULT_CONFIG">DEFAULT_CONFIG</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected @Nullable org.apache.arrow.memory.Accountant</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/memory/RootAllocator.html#parent">parent</a></span></code>
<div class="block">The parent allocator.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/memory/RootAllocator.html#reservation">reservation</a></span></code>
<div class="block">The amount of memory reserved for this allocator.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/memory/RootAllocator.html#RootAllocator--">RootAllocator</a></span>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/memory/RootAllocator.html#RootAllocator-org.apache.arrow.memory.AllocationListener-long-">RootAllocator</a></span>(<a href="../../../../org/apache/arrow/memory/AllocationListener.html" title="interface in org.apache.arrow.memory">AllocationListener</a>&nbsp;listener,
long&nbsp;limit)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/memory/RootAllocator.html#RootAllocator-org.apache.arrow.memory.AllocationListener-long-org.apache.arrow.memory.rounding.RoundingPolicy-">RootAllocator</a></span>(<a href="../../../../org/apache/arrow/memory/AllocationListener.html" title="interface in org.apache.arrow.memory">AllocationListener</a>&nbsp;listener,
long&nbsp;limit,
<a href="../../../../org/apache/arrow/memory/rounding/RoundingPolicy.html" title="interface in org.apache.arrow.memory.rounding">RoundingPolicy</a>&nbsp;roundingPolicy)</code>
<div class="block">Constructor.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/memory/RootAllocator.html#RootAllocator-org.apache.arrow.memory.BaseAllocator.Config-">RootAllocator</a></span>(org.apache.arrow.memory.BaseAllocator.Config&nbsp;config)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/memory/RootAllocator.html#RootAllocator-long-">RootAllocator</a></span>(long&nbsp;limit)</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></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="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/memory/RootAllocator.html#assertOpen--">assertOpen</a></span>()</code>
<div class="block">Asserts (using java assertions) that the provided allocator is currently open.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/arrow/memory/ArrowBuf.html" title="class in org.apache.arrow.memory">ArrowBuf</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/memory/RootAllocator.html#buffer-long-">buffer</a></span>(long&nbsp;initialRequestSize)</code>
<div class="block">Allocate a new or reused buffer of the provided size.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/arrow/memory/ArrowBuf.html" title="class in org.apache.arrow.memory">ArrowBuf</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/memory/RootAllocator.html#buffer-long-org.apache.arrow.memory.BufferManager-">buffer</a></span>(long&nbsp;initialRequestSize,
@Nullable <a href="../../../../org/apache/arrow/memory/BufferManager.html" title="interface in org.apache.arrow.memory">BufferManager</a>&nbsp;manager)</code>
<div class="block">Allocate a new or reused buffer of the provided size.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/memory/RootAllocator.html#close--">close</a></span>()</code>
<div class="block">Close this Accountant.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>static org.apache.arrow.memory.ImmutableConfig.Builder</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/memory/RootAllocator.html#configBuilder--">configBuilder</a></span>()</code>
<div class="block">Returns a builder class for configuring BaseAllocator's options.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>static org.apache.arrow.memory.BaseAllocator.Config</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/memory/RootAllocator.html#defaultConfig--">defaultConfig</a></span>()</code>
<div class="block">Returns a default <code>Config</code> instance.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/memory/RootAllocator.html#forceAllocate-long-">forceAllocate</a></span>(long&nbsp;size)</code>
<div class="block">Increase the accounting.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/memory/RootAllocator.html#getAllocatedMemory--">getAllocatedMemory</a></span>()</code>
<div class="block">Return the current amount of allocated memory that this Accountant is managing accounting
for.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../org/apache/arrow/memory/BufferAllocator.html" title="interface in org.apache.arrow.memory">BufferAllocator</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/memory/RootAllocator.html#getChildAllocators--">getChildAllocators</a></span>()</code>
<div class="block">Returns the set of child allocators.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/arrow/memory/ArrowBuf.html" title="class in org.apache.arrow.memory">ArrowBuf</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/memory/RootAllocator.html#getEmpty--">getEmpty</a></span>()</code>
<div class="block">Get a reference to the empty buffer associated with this allocator.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/memory/RootAllocator.html#getHeadroom--">getHeadroom</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/memory/RootAllocator.html#getInitReservation--">getInitReservation</a></span>()</code>
<div class="block">Return the initial reservation.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/memory/RootAllocator.html#getLimit--">getLimit</a></span>()</code>
<div class="block">Return the current limit of this Accountant.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/arrow/memory/AllocationListener.html" title="interface in org.apache.arrow.memory">AllocationListener</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/memory/RootAllocator.html#getListener--">getListener</a></span>()</code>
<div class="block">Returns the allocation listener used by this allocator.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/memory/RootAllocator.html#getName--">getName</a></span>()</code>
<div class="block">Return the name of the accountant.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>@Nullable org.apache.arrow.memory.BaseAllocator</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/memory/RootAllocator.html#getParentAllocator--">getParentAllocator</a></span>()</code>
<div class="block">Returns the parent allocator.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/memory/RootAllocator.html#getPeakMemoryAllocation--">getPeakMemoryAllocation</a></span>()</code>
<div class="block">The peak memory allocated by this Accountant.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html" title="interface in org.apache.arrow.memory">BufferAllocator</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/memory/RootAllocator.html#getRoot--">getRoot</a></span>()</code>
<div class="block">Get the root allocator of this allocator.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/arrow/memory/rounding/RoundingPolicy.html" title="interface in org.apache.arrow.memory.rounding">RoundingPolicy</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/memory/RootAllocator.html#getRoundingPolicy--">getRoundingPolicy</a></span>()</code>
<div class="block">Gets the rounding policy of the allocator.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/memory/RootAllocator.html#isDebug--">isDebug</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/memory/RootAllocator.html#isOverLimit--">isOverLimit</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html" title="interface in org.apache.arrow.memory">BufferAllocator</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/memory/RootAllocator.html#newChildAllocator-java.lang.String-org.apache.arrow.memory.AllocationListener-long-long-">newChildAllocator</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
<a href="../../../../org/apache/arrow/memory/AllocationListener.html" title="interface in org.apache.arrow.memory">AllocationListener</a>&nbsp;listener,
long&nbsp;initReservation,
long&nbsp;maxAllocation)</code>
<div class="block">Create a new child allocator.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html" title="interface in org.apache.arrow.memory">BufferAllocator</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/memory/RootAllocator.html#newChildAllocator-java.lang.String-long-long-">newChildAllocator</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
long&nbsp;initReservation,
long&nbsp;maxAllocation)</code>
<div class="block">Create a new child allocator.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/arrow/memory/AllocationReservation.html" title="interface in org.apache.arrow.memory">AllocationReservation</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/memory/RootAllocator.html#newReservation--">newReservation</a></span>()</code>
<div class="block">Create an allocation reservation.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/memory/RootAllocator.html#releaseBytes-long-">releaseBytes</a></span>(long&nbsp;size)</code>&nbsp;</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/memory/RootAllocator.html#setLimit-long-">setLimit</a></span>(long&nbsp;newLimit)</code>
<div class="block">Set the maximum amount of memory that can be allocated in the this Accountant before failing
an allocation.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/memory/RootAllocator.html#toString--">toString</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/memory/RootAllocator.html#toVerboseString--">toVerboseString</a></span>()</code>
<div class="block">Provide a verbose string of the current allocator state.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/memory/RootAllocator.html#verify--">verify</a></span>()</code>
<div class="block">Verify the accounting state of the allocation system.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/arrow/memory/ArrowBuf.html" title="class in org.apache.arrow.memory">ArrowBuf</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/memory/RootAllocator.html#wrapForeignAllocation-org.apache.arrow.memory.ForeignAllocation-">wrapForeignAllocation</a></span>(<a href="../../../../org/apache/arrow/memory/ForeignAllocation.html" title="class in org.apache.arrow.memory">ForeignAllocation</a>&nbsp;allocation)</code>
<div class="block">EXPERIMENTAL: Wrap an allocation created outside this BufferAllocator.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.arrow.memory.BufferAllocator">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.arrow.memory.<a href="../../../../org/apache/arrow/memory/BufferAllocator.html" title="interface in org.apache.arrow.memory">BufferAllocator</a></h3>
<code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html#forceAllocate-long-">forceAllocate</a>, <a href="../../../../org/apache/arrow/memory/BufferAllocator.html#getAllocatedMemory--">getAllocatedMemory</a>, <a href="../../../../org/apache/arrow/memory/BufferAllocator.html#getHeadroom--">getHeadroom</a>, <a href="../../../../org/apache/arrow/memory/BufferAllocator.html#getInitReservation--">getInitReservation</a>, <a href="../../../../org/apache/arrow/memory/BufferAllocator.html#getLimit--">getLimit</a>, <a href="../../../../org/apache/arrow/memory/BufferAllocator.html#getPeakMemoryAllocation--">getPeakMemoryAllocation</a>, <a href="../../../../org/apache/arrow/memory/BufferAllocator.html#isOverLimit--">isOverLimit</a>, <a href="../../../../org/apache/arrow/memory/BufferAllocator.html#releaseBytes-long-">releaseBytes</a>, <a href="../../../../org/apache/arrow/memory/BufferAllocator.html#setLimit-long-">setLimit</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="DEBUG_ALLOCATOR">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEBUG_ALLOCATOR</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> DEBUG_ALLOCATOR</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.arrow.memory.RootAllocator.DEBUG_ALLOCATOR">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DEBUG_LOG_LENGTH">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEBUG_LOG_LENGTH</h4>
<pre>public static final&nbsp;int DEBUG_LOG_LENGTH</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.arrow.memory.RootAllocator.DEBUG_LOG_LENGTH">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DEBUG">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEBUG</h4>
<pre>public static final&nbsp;boolean DEBUG</pre>
</li>
</ul>
<a name="DEFAULT_CONFIG">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_CONFIG</h4>
<pre>public static final&nbsp;org.apache.arrow.memory.BaseAllocator.Config DEFAULT_CONFIG</pre>
</li>
</ul>
<a name="parent">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parent</h4>
<pre>protected final&nbsp;@Nullable org.apache.arrow.memory.Accountant parent</pre>
<div class="block">The parent allocator.</div>
</li>
</ul>
<a name="reservation">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>reservation</h4>
<pre>protected final&nbsp;long reservation</pre>
<div class="block">The amount of memory reserved for this allocator. Releases below this amount of memory will
not be returned to the
parent Accountant until this Accountant is closed.</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="RootAllocator--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>RootAllocator</h4>
<pre>public&nbsp;RootAllocator()</pre>
</li>
</ul>
<a name="RootAllocator-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>RootAllocator</h4>
<pre>public&nbsp;RootAllocator(long&nbsp;limit)</pre>
</li>
</ul>
<a name="RootAllocator-org.apache.arrow.memory.AllocationListener-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>RootAllocator</h4>
<pre>public&nbsp;RootAllocator(<a href="../../../../org/apache/arrow/memory/AllocationListener.html" title="interface in org.apache.arrow.memory">AllocationListener</a>&nbsp;listener,
long&nbsp;limit)</pre>
</li>
</ul>
<a name="RootAllocator-org.apache.arrow.memory.AllocationListener-long-org.apache.arrow.memory.rounding.RoundingPolicy-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>RootAllocator</h4>
<pre>public&nbsp;RootAllocator(<a href="../../../../org/apache/arrow/memory/AllocationListener.html" title="interface in org.apache.arrow.memory">AllocationListener</a>&nbsp;listener,
long&nbsp;limit,
<a href="../../../../org/apache/arrow/memory/rounding/RoundingPolicy.html" title="interface in org.apache.arrow.memory.rounding">RoundingPolicy</a>&nbsp;roundingPolicy)</pre>
<div class="block">Constructor.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>listener</code> - the allocation listener</dd>
<dd><code>limit</code> - max allocation size in bytes</dd>
<dd><code>roundingPolicy</code> - the policy for rounding the buffer size</dd>
</dl>
</li>
</ul>
<a name="RootAllocator-org.apache.arrow.memory.BaseAllocator.Config-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>RootAllocator</h4>
<pre>public&nbsp;RootAllocator(org.apache.arrow.memory.BaseAllocator.Config&nbsp;config)</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="verify--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>verify</h4>
<pre>public&nbsp;void&nbsp;verify()</pre>
<div class="block">Verify the accounting state of the allocation system.</div>
</li>
</ul>
<a name="getListener--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getListener</h4>
<pre>public&nbsp;<a href="../../../../org/apache/arrow/memory/AllocationListener.html" title="interface in org.apache.arrow.memory">AllocationListener</a>&nbsp;getListener()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html#getListener--">BufferAllocator</a></code></span></div>
<div class="block">Returns the allocation listener used by this allocator.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html#getListener--">getListener</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html" title="interface in org.apache.arrow.memory">BufferAllocator</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="../../../../org/apache/arrow/memory/AllocationListener.html" title="interface in org.apache.arrow.memory"><code>AllocationListener</code></a> instance. Or <a href="../../../../org/apache/arrow/memory/AllocationListener.html#NOOP"><code>AllocationListener.NOOP</code></a> by default if no listener
is configured when this allocator was created.</dd>
</dl>
</li>
</ul>
<a name="getParentAllocator--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getParentAllocator</h4>
<pre>public&nbsp;@Nullable org.apache.arrow.memory.BaseAllocator&nbsp;getParentAllocator()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html#getParentAllocator--">BufferAllocator</a></code></span></div>
<div class="block">Returns the parent allocator.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html#getParentAllocator--">getParentAllocator</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html" title="interface in org.apache.arrow.memory">BufferAllocator</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>parent allocator</dd>
</dl>
</li>
</ul>
<a name="getChildAllocators--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getChildAllocators</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../org/apache/arrow/memory/BufferAllocator.html" title="interface in org.apache.arrow.memory">BufferAllocator</a>&gt;&nbsp;getChildAllocators()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html#getChildAllocators--">BufferAllocator</a></code></span></div>
<div class="block">Returns the set of child allocators.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html#getChildAllocators--">getChildAllocators</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html" title="interface in org.apache.arrow.memory">BufferAllocator</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>set of child allocators</dd>
</dl>
</li>
</ul>
<a name="isDebug--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDebug</h4>
<pre>public static&nbsp;boolean&nbsp;isDebug()</pre>
</li>
</ul>
<a name="assertOpen--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>assertOpen</h4>
<pre>public&nbsp;void&nbsp;assertOpen()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html#assertOpen--">BufferAllocator</a></code></span></div>
<div class="block">Asserts (using java assertions) that the provided allocator is currently open. If assertions
are disabled, this is
a no-op.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html#assertOpen--">assertOpen</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html" title="interface in org.apache.arrow.memory">BufferAllocator</a></code></dd>
</dl>
</li>
</ul>
<a name="getName--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getName</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getName()</pre>
<div class="block">Return the name of the accountant.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html#getName--">getName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html" title="interface in org.apache.arrow.memory">BufferAllocator</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>name of accountant</dd>
</dl>
</li>
</ul>
<a name="getEmpty--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEmpty</h4>
<pre>public&nbsp;<a href="../../../../org/apache/arrow/memory/ArrowBuf.html" title="class in org.apache.arrow.memory">ArrowBuf</a>&nbsp;getEmpty()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html#getEmpty--">BufferAllocator</a></code></span></div>
<div class="block">Get a reference to the empty buffer associated with this allocator. Empty buffers are
special because we don't
worry about them leaking or managing reference counts on them since they don't actually
point to any memory.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html#getEmpty--">getEmpty</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html" title="interface in org.apache.arrow.memory">BufferAllocator</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the empty buffer</dd>
</dl>
</li>
</ul>
<a name="wrapForeignAllocation-org.apache.arrow.memory.ForeignAllocation-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>wrapForeignAllocation</h4>
<pre>public&nbsp;<a href="../../../../org/apache/arrow/memory/ArrowBuf.html" title="class in org.apache.arrow.memory">ArrowBuf</a>&nbsp;wrapForeignAllocation(<a href="../../../../org/apache/arrow/memory/ForeignAllocation.html" title="class in org.apache.arrow.memory">ForeignAllocation</a>&nbsp;allocation)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html#wrapForeignAllocation-org.apache.arrow.memory.ForeignAllocation-">BufferAllocator</a></code></span></div>
<div class="block">EXPERIMENTAL: Wrap an allocation created outside this BufferAllocator.
<p>This is useful to integrate allocations from native code into the same memory management framework as
Java-allocated buffers, presenting users a consistent API. The created buffer will be tracked by this allocator
and can be transferred like Java-allocated buffers.
<p>The underlying allocation will be closed when all references to the buffer are released. If this method throws,
the underlying allocation will also be closed.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html#wrapForeignAllocation-org.apache.arrow.memory.ForeignAllocation-">wrapForeignAllocation</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html" title="interface in org.apache.arrow.memory">BufferAllocator</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>allocation</code> - The underlying allocation.</dd>
</dl>
</li>
</ul>
<a name="buffer-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>buffer</h4>
<pre>public&nbsp;<a href="../../../../org/apache/arrow/memory/ArrowBuf.html" title="class in org.apache.arrow.memory">ArrowBuf</a>&nbsp;buffer(long&nbsp;initialRequestSize)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html#buffer-long-">BufferAllocator</a></code></span></div>
<div class="block">Allocate a new or reused buffer of the provided size. Note that the buffer may technically
be larger than the
requested size for rounding purposes. However, the buffer's capacity will be set to the
configured size.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html#buffer-long-">buffer</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html" title="interface in org.apache.arrow.memory">BufferAllocator</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>initialRequestSize</code> - The size in bytes.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new ArrowBuf, or null if the request can't be satisfied</dd>
</dl>
</li>
</ul>
<a name="buffer-long-org.apache.arrow.memory.BufferManager-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>buffer</h4>
<pre>public&nbsp;<a href="../../../../org/apache/arrow/memory/ArrowBuf.html" title="class in org.apache.arrow.memory">ArrowBuf</a>&nbsp;buffer(long&nbsp;initialRequestSize,
@Nullable <a href="../../../../org/apache/arrow/memory/BufferManager.html" title="interface in org.apache.arrow.memory">BufferManager</a>&nbsp;manager)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html#buffer-long-org.apache.arrow.memory.BufferManager-">BufferAllocator</a></code></span></div>
<div class="block">Allocate a new or reused buffer of the provided size. Note that the buffer may technically
be larger than the
requested size for rounding purposes. However, the buffer's capacity will be set to the
configured size.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html#buffer-long-org.apache.arrow.memory.BufferManager-">buffer</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html" title="interface in org.apache.arrow.memory">BufferAllocator</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>initialRequestSize</code> - The size in bytes.</dd>
<dd><code>manager</code> - A buffer manager to manage reallocation.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new ArrowBuf, or null if the request can't be satisfied</dd>
</dl>
</li>
</ul>
<a name="getRoot--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRoot</h4>
<pre>public&nbsp;<a href="../../../../org/apache/arrow/memory/BufferAllocator.html" title="interface in org.apache.arrow.memory">BufferAllocator</a>&nbsp;getRoot()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html#getRoot--">BufferAllocator</a></code></span></div>
<div class="block">Get the root allocator of this allocator. If this allocator is already a root, return
this directly.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html#getRoot--">getRoot</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html" title="interface in org.apache.arrow.memory">BufferAllocator</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The root allocator</dd>
</dl>
</li>
</ul>
<a name="newChildAllocator-java.lang.String-long-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newChildAllocator</h4>
<pre>public&nbsp;<a href="../../../../org/apache/arrow/memory/BufferAllocator.html" title="interface in org.apache.arrow.memory">BufferAllocator</a>&nbsp;newChildAllocator(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
long&nbsp;initReservation,
long&nbsp;maxAllocation)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html#newChildAllocator-java.lang.String-long-long-">BufferAllocator</a></code></span></div>
<div class="block">Create a new child allocator.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html#newChildAllocator-java.lang.String-long-long-">newChildAllocator</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html" title="interface in org.apache.arrow.memory">BufferAllocator</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the allocator.</dd>
<dd><code>initReservation</code> - the initial space reservation (obtained from this allocator)</dd>
<dd><code>maxAllocation</code> - maximum amount of space the new allocator can allocate</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the new allocator, or null if it can't be created</dd>
</dl>
</li>
</ul>
<a name="newChildAllocator-java.lang.String-org.apache.arrow.memory.AllocationListener-long-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newChildAllocator</h4>
<pre>public&nbsp;<a href="../../../../org/apache/arrow/memory/BufferAllocator.html" title="interface in org.apache.arrow.memory">BufferAllocator</a>&nbsp;newChildAllocator(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
<a href="../../../../org/apache/arrow/memory/AllocationListener.html" title="interface in org.apache.arrow.memory">AllocationListener</a>&nbsp;listener,
long&nbsp;initReservation,
long&nbsp;maxAllocation)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html#newChildAllocator-java.lang.String-org.apache.arrow.memory.AllocationListener-long-long-">BufferAllocator</a></code></span></div>
<div class="block">Create a new child allocator.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html#newChildAllocator-java.lang.String-org.apache.arrow.memory.AllocationListener-long-long-">newChildAllocator</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html" title="interface in org.apache.arrow.memory">BufferAllocator</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the allocator.</dd>
<dd><code>listener</code> - allocation listener for the newly created child</dd>
<dd><code>initReservation</code> - the initial space reservation (obtained from this allocator)</dd>
<dd><code>maxAllocation</code> - maximum amount of space the new allocator can allocate</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the new allocator, or null if it can't be created</dd>
</dl>
</li>
</ul>
<a name="newReservation--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newReservation</h4>
<pre>public&nbsp;<a href="../../../../org/apache/arrow/memory/AllocationReservation.html" title="interface in org.apache.arrow.memory">AllocationReservation</a>&nbsp;newReservation()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html#newReservation--">BufferAllocator</a></code></span></div>
<div class="block">Create an allocation reservation. A reservation is a way of building up
a request for a buffer whose size is not known in advance. See</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html#newReservation--">newReservation</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html" title="interface in org.apache.arrow.memory">BufferAllocator</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the newly created reservation</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/arrow/memory/AllocationReservation.html" title="interface in org.apache.arrow.memory"><code>AllocationReservation</code></a></dd>
</dl>
</li>
</ul>
<a name="close--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
<pre>public&nbsp;void&nbsp;close()</pre>
<div class="block">Close this Accountant. This will release any reservation bytes back to a parent Accountant.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html#close--">close</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html" title="interface in org.apache.arrow.memory">BufferAllocator</a></code></dd>
</dl>
</li>
</ul>
<a name="toString--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
</dl>
</li>
</ul>
<a name="toVerboseString--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toVerboseString</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toVerboseString()</pre>
<div class="block">Provide a verbose string of the current allocator state. Includes the state of all child
allocators, along with
historical logs of each object and including stacktraces.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html#toVerboseString--">toVerboseString</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html" title="interface in org.apache.arrow.memory">BufferAllocator</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A Verbose string of current allocator state.</dd>
</dl>
</li>
</ul>
<a name="defaultConfig--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>defaultConfig</h4>
<pre>public static&nbsp;org.apache.arrow.memory.BaseAllocator.Config&nbsp;defaultConfig()</pre>
<div class="block">Returns a default <code>Config</code> instance.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>ImmutableConfig.Builder</code></dd>
</dl>
</li>
</ul>
<a name="configBuilder--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>configBuilder</h4>
<pre>public static&nbsp;org.apache.arrow.memory.ImmutableConfig.Builder&nbsp;configBuilder()</pre>
<div class="block">Returns a builder class for configuring BaseAllocator's options.</div>
</li>
</ul>
<a name="getRoundingPolicy--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRoundingPolicy</h4>
<pre>public&nbsp;<a href="../../../../org/apache/arrow/memory/rounding/RoundingPolicy.html" title="interface in org.apache.arrow.memory.rounding">RoundingPolicy</a>&nbsp;getRoundingPolicy()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html#getRoundingPolicy--">BufferAllocator</a></code></span></div>
<div class="block">Gets the rounding policy of the allocator.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html#getRoundingPolicy--">getRoundingPolicy</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/arrow/memory/BufferAllocator.html" title="interface in org.apache.arrow.memory">BufferAllocator</a></code></dd>
</dl>
</li>
</ul>
<a name="forceAllocate-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>forceAllocate</h4>
<pre>public&nbsp;boolean&nbsp;forceAllocate(long&nbsp;size)</pre>
<div class="block">Increase the accounting. Returns whether the allocation fit within limits.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>size</code> - to increase</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Whether the allocation fit within limits.</dd>
</dl>
</li>
</ul>
<a name="releaseBytes-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>releaseBytes</h4>
<pre>public&nbsp;void&nbsp;releaseBytes(long&nbsp;size)</pre>
</li>
</ul>
<a name="isOverLimit--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isOverLimit</h4>
<pre>public&nbsp;boolean&nbsp;isOverLimit()</pre>
</li>
</ul>
<a name="getLimit--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLimit</h4>
<pre>public&nbsp;long&nbsp;getLimit()</pre>
<div class="block">Return the current limit of this Accountant.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Limit in bytes.</dd>
</dl>
</li>
</ul>
<a name="getInitReservation--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInitReservation</h4>
<pre>public&nbsp;long&nbsp;getInitReservation()</pre>
<div class="block">Return the initial reservation.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>reservation in bytes.</dd>
</dl>
</li>
</ul>
<a name="setLimit-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setLimit</h4>
<pre>public&nbsp;void&nbsp;setLimit(long&nbsp;newLimit)</pre>
<div class="block">Set the maximum amount of memory that can be allocated in the this Accountant before failing
an allocation.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>newLimit</code> - The limit in bytes.</dd>
</dl>
</li>
</ul>
<a name="getAllocatedMemory--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAllocatedMemory</h4>
<pre>public&nbsp;long&nbsp;getAllocatedMemory()</pre>
<div class="block">Return the current amount of allocated memory that this Accountant is managing accounting
for. Note this does not
include reservation memory that hasn't been allocated.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Currently allocate memory in bytes.</dd>
</dl>
</li>
</ul>
<a name="getPeakMemoryAllocation--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPeakMemoryAllocation</h4>
<pre>public&nbsp;long&nbsp;getPeakMemoryAllocation()</pre>
<div class="block">The peak memory allocated by this Accountant.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The peak allocated memory in bytes.</dd>
</dl>
</li>
</ul>
<a name="getHeadroom--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getHeadroom</h4>
<pre>public&nbsp;long&nbsp;getHeadroom()</pre>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/RootAllocator.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">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/arrow/memory/ReusableBuffer.html" title="interface in org.apache.arrow.memory"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/arrow/memory/ValueWithKeyIncluded.html" title="interface in org.apache.arrow.memory"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/arrow/memory/RootAllocator.html" target="_top">Frames</a></li>
<li><a href="RootAllocator.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.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>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&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 name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>