blob: 14983ab1129a5452393dcb2ae109dcf2c9f7853d [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>ByteBuff (Apache HBase 3.0.0-alpha-2-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="ByteBuff (Apache HBase 3.0.0-alpha-2-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":10,"i6":9,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6,"i23":6,"i24":6,"i25":6,"i26":6,"i27":6,"i28":6,"i29":6,"i30":6,"i31":6,"i32":6,"i33":6,"i34":6,"i35":6,"i36":6,"i37":6,"i38":6,"i39":6,"i40":6,"i41":6,"i42":9,"i43":9,"i44":9,"i45":10,"i46":10,"i47":6,"i48":6,"i49":6,"i50":6,"i51":6,"i52":10,"i53":6,"i54":10,"i55":9,"i56":9,"i57":9,"i58":9,"i59":9,"i60":9,"i61":9,"i62":9,"i63":6};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract 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/ByteBuff.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>Prev&nbsp;Class</li>
<li><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html" title="interface in org.apache.hadoop.hbase.nio"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/hadoop/hbase/nio/ByteBuff.html" target="_top">Frames</a></li>
<li><a href="ByteBuff.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.hadoop.hbase.nio</div>
<h2 title="Class ByteBuff" class="title">Class ByteBuff</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.hadoop.hbase.nio.ByteBuff</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCounted.html" title="interface in org.apache.hadoop.hbase.nio">HBaseReferenceCounted</a>, org.apache.hbase.thirdparty.io.netty.util.ReferenceCounted</dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a>, <a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html" title="class in org.apache.hadoop.hbase.nio">SingleByteBuff</a></dd>
</dl>
<hr>
<br>
<pre>@InterfaceAudience.Private
public abstract class <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.61">ByteBuff</a>
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>
implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCounted.html" title="interface in org.apache.hadoop.hbase.nio">HBaseReferenceCounted</a></pre>
<div class="block">An abstract class that abstracts out as to how the byte buffers are used, either single or
multiple. We have this interface because the java's ByteBuffers cannot be sub-classed. This class
provides APIs similar to the ones provided in java's nio ByteBuffers and allows you to do
positional reads/writes and relative reads and writes on the underlying BB. In addition to it, we
have some additional APIs which helps us in the read path. <br/>
The ByteBuff implement <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCounted.html" title="interface in org.apache.hadoop.hbase.nio"><code>HBaseReferenceCounted</code></a> interface which mean need to maintains a
<a href="../../../../../org/apache/hadoop/hbase/nio/RefCnt.html" title="class in org.apache.hadoop.hbase.nio"><code>RefCnt</code></a> inside, if ensure that the ByteBuff won't be used any more, we must do a
<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#release--"><code>release()</code></a> to recycle its NIO ByteBuffers. when considering the
<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#duplicate--"><code>duplicate()</code></a> or <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#slice--"><code>slice()</code></a>, releasing either the duplicated one or
the original one will free its memory, because they share the same NIO ByteBuffers. when you want
to retain the NIO ByteBuffers even if the origin one called <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#release--"><code>release()</code></a>, you can
do like this:
<pre>
ByteBuff original = ...;
ByteBuff dup = original.duplicate();
dup.retain();
original.release();
// The NIO buffers can still be accessed unless you release the duplicated one
dup.get(...);
dup.release();
// Both the original and dup can not access the NIO buffers any more.
</pre></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>(package private) static interface&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html" title="interface in org.apache.hadoop.hbase.nio">ByteBuff.ChannelReader</a></span></code>
<div class="block">function interface for Channel read</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>(package private) static <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html" title="interface in org.apache.hadoop.hbase.nio">ByteBuff.ChannelReader</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#CHANNEL_READER">CHANNEL_READER</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) static <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html" title="interface in org.apache.hadoop.hbase.nio">ByteBuff.ChannelReader</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#FILE_READER">FILE_READER</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#NIO_BUFFER_LIMIT">NIO_BUFFER_LIMIT</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/nio/RefCnt.html" title="class in org.apache.hadoop.hbase.nio">RefCnt</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#refCnt">refCnt</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private 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/hadoop/hbase/nio/ByteBuff.html#REFERENCE_COUNT_NAME">REFERENCE_COUNT_NAME</a></span></code>&nbsp;</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/hadoop/hbase/nio/ByteBuff.html#ByteBuff--">ByteBuff</a></span>()</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="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract 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>abstract byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#array--">array</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>abstract int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#arrayOffset--">arrayOffset</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#asSubByteBuffer-int-">asSubByteBuffer</a></span>(int&nbsp;length)</code>
<div class="block">Returns bytes from current position till length specified, as a single ByteBuffer.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#asSubByteBuffer-int-int-org.apache.hadoop.hbase.util.ObjectIntPair-">asSubByteBuffer</a></span>(int&nbsp;offset,
int&nbsp;length,
<a href="../../../../../org/apache/hadoop/hbase/util/ObjectIntPair.html" title="class in org.apache.hadoop.hbase.util">ObjectIntPair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&gt;&nbsp;pair)</code>
<div class="block">Returns bytes from given offset till length specified, as a single ByteBuffer.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>abstract int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#capacity--">capacity</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#checkRefCount--">checkRefCount</a></span>()</code>
<div class="block">Methods for reference count</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#compareTo-org.apache.hadoop.hbase.nio.ByteBuff-int-int-org.apache.hadoop.hbase.nio.ByteBuff-int-int-">compareTo</a></span>(<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;buf1,
int&nbsp;o1,
int&nbsp;len1,
<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;buf2,
int&nbsp;o2,
int&nbsp;len2)</code>
<div class="block">Compares two ByteBuffs</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#duplicate--">duplicate</a></span>()</code>
<div class="block">Returns an ByteBuff which is a duplicate version of this ByteBuff.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>abstract byte</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#get--">get</a></span>()</code>
<div class="block">A relative method that returns byte at the current position.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#get-byte:A-">get</a></span>(byte[]&nbsp;dst)</code>
<div class="block">Copies the content from this ByteBuff's current position to the byte array and fills it.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#get-byte:A-int-int-">get</a></span>(byte[]&nbsp;dst,
int&nbsp;offset,
int&nbsp;length)</code>
<div class="block">Copies the specified number of bytes from this ByteBuff's current position to
the byte[]'s offset.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#get-java.nio.ByteBuffer-int-int-">get</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;out,
int&nbsp;sourceOffset,
int&nbsp;length)</code>
<div class="block">Copies the content from this ByteBuff to a ByteBuffer
Note : This will advance the position marker of <code>out</code> but not change the position maker
for this ByteBuff</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>abstract byte</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#get-int-">get</a></span>(int&nbsp;index)</code>
<div class="block">Fetches the byte at the given index.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#get-int-byte:A-int-int-">get</a></span>(int&nbsp;sourceOffset,
byte[]&nbsp;dst,
int&nbsp;offset,
int&nbsp;length)</code>
<div class="block">Copies the specified number of bytes from this ByteBuff's given position to
the byte[]'s offset.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>abstract byte</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#getByteAfterPosition-int-">getByteAfterPosition</a></span>(int&nbsp;offset)</code>
<div class="block">Fetches the byte at the given offset from current position.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>abstract int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#getInt--">getInt</a></span>()</code>
<div class="block">Returns the int value at the current position.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>abstract int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#getInt-int-">getInt</a></span>(int&nbsp;index)</code>
<div class="block">Fetches the int at the given index.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>abstract int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#getIntAfterPosition-int-">getIntAfterPosition</a></span>(int&nbsp;offset)</code>
<div class="block">Fetches the int value at the given offset from current position.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>abstract long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#getLong--">getLong</a></span>()</code>
<div class="block">Returns the long value at the current position.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>abstract long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#getLong-int-">getLong</a></span>(int&nbsp;index)</code>
<div class="block">Fetches the long at the given index.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>abstract long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#getLongAfterPosition-int-">getLongAfterPosition</a></span>(int&nbsp;offset)</code>
<div class="block">Fetches the long value at the given offset from current position.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>abstract short</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#getShort--">getShort</a></span>()</code>
<div class="block">Returns the short value at the current position.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>abstract short</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#getShort-int-">getShort</a></span>(int&nbsp;index)</code>
<div class="block">Fetches the short value at the given index.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>abstract short</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#getShortAfterPosition-int-">getShortAfterPosition</a></span>(int&nbsp;offset)</code>
<div class="block">Fetches the short value at the given offset from current position.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>abstract boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#hasArray--">hasArray</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>abstract boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#hasRemaining--">hasRemaining</a></span>()</code>
<div class="block">Returns true if there are elements between the current position and the limt</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>abstract int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#limit--">limit</a></span>()</code>
<div class="block">Returns the limit of this ByteBuff</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#limit-int-">limit</a></span>(int&nbsp;limit)</code>
<div class="block">Marks the limit of this ByteBuff.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#mark--">mark</a></span>()</code>
<div class="block">Marks the current position of the ByteBuff</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#moveBack-int-">moveBack</a></span>(int&nbsp;len)</code>
<div class="block">Jumps back the current position of this ByteBuff by specified length.</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#nioByteBuffers--">nioByteBuffers</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>abstract int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#position--">position</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#position-int-">position</a></span>(int&nbsp;position)</code>
<div class="block">Sets this ByteBuff's position to the given value.</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#put-byte-">put</a></span>(byte&nbsp;b)</code>
<div class="block">Writes a byte to this ByteBuff at the current position and increments the position</div>
</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#put-byte:A-">put</a></span>(byte[]&nbsp;src)</code>
<div class="block">Copies from the given byte[] to this ByteBuff</div>
</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#put-byte:A-int-int-">put</a></span>(byte[]&nbsp;src,
int&nbsp;offset,
int&nbsp;length)</code>
<div class="block">Copies from the given byte[] to this ByteBuff</div>
</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#put-int-byte-">put</a></span>(int&nbsp;index,
byte&nbsp;b)</code>
<div class="block">Writes a byte to this ByteBuff at the given index</div>
</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#put-int-org.apache.hadoop.hbase.nio.ByteBuff-int-int-">put</a></span>(int&nbsp;offset,
<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;src,
int&nbsp;srcOffset,
int&nbsp;length)</code>
<div class="block">Copies the contents from the src ByteBuff to this ByteBuff.</div>
</td>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#putInt-int-">putInt</a></span>(int&nbsp;value)</code>
<div class="block">Writes an int to this ByteBuff at its current position.</div>
</td>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#putLong-long-">putLong</a></span>(long&nbsp;value)</code>
<div class="block">Writes a long to this ByteBuff at its current position.</div>
</td>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><code>abstract int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#read-java.nio.channels.FileChannel-long-">read</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html?is-external=true" title="class or interface in java.nio.channels">FileChannel</a>&nbsp;channel,
long&nbsp;offset)</code>
<div class="block">Reads bytes from FileChannel into this ByteBuff</div>
</td>
</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><code>abstract int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#read-java.nio.channels.ReadableByteChannel-">read</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/ReadableByteChannel.html?is-external=true" title="class or interface in java.nio.channels">ReadableByteChannel</a>&nbsp;channel)</code>
<div class="block">Reads bytes from the given channel into this ByteBuff</div>
</td>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#read-java.nio.channels.ReadableByteChannel-java.nio.ByteBuffer-long-org.apache.hadoop.hbase.nio.ByteBuff.ChannelReader-">read</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/ReadableByteChannel.html?is-external=true" title="class or interface in java.nio.channels">ReadableByteChannel</a>&nbsp;channel,
<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;buf,
long&nbsp;offset,
<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html" title="interface in org.apache.hadoop.hbase.nio">ByteBuff.ChannelReader</a>&nbsp;reader)</code>&nbsp;</td>
</tr>
<tr id="i43" class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#readCompressedInt-org.apache.hadoop.hbase.nio.ByteBuff-">readCompressedInt</a></span>(<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;buf)</code>
<div class="block">Read integer from ByteBuff coded in 7 bits and increment position.</div>
</td>
</tr>
<tr id="i44" class="altColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#readLong-org.apache.hadoop.hbase.nio.ByteBuff-int-">readLong</a></span>(<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;in,
int&nbsp;fitInBytes)</code>
<div class="block">Read long which was written to fitInBytes bytes and increment position.</div>
</td>
</tr>
<tr id="i45" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#refCnt--">refCnt</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i46" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#release--">release</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i47" class="rowColor">
<td class="colFirst"><code>abstract int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#remaining--">remaining</a></span>()</code>
<div class="block">Returns the number of elements between the current position and the
limit.</div>
</td>
</tr>
<tr id="i48" class="altColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#reset--">reset</a></span>()</code>
<div class="block">Similar to <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio"><code>ByteBuffer</code></a>.reset(), ensures that this ByteBuff
is reset back to last marked position.</div>
</td>
</tr>
<tr id="i49" class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#rewind--">rewind</a></span>()</code>
<div class="block">Rewinds this ByteBuff and the position is set to 0</div>
</td>
</tr>
<tr id="i50" class="altColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#skip-int-">skip</a></span>(int&nbsp;len)</code>
<div class="block">Jumps the current position of this ByteBuff by specified length.</div>
</td>
</tr>
<tr id="i51" class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#slice--">slice</a></span>()</code>
<div class="block">Returns an ByteBuff which is a sliced version of this ByteBuff.</div>
</td>
</tr>
<tr id="i52" class="altColor">
<td class="colFirst"><code>byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#toBytes--">toBytes</a></span>()</code>
<div class="block">Copy the content from this ByteBuff to a byte[].</div>
</td>
</tr>
<tr id="i53" class="rowColor">
<td class="colFirst"><code>abstract byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#toBytes-int-int-">toBytes</a></span>(int&nbsp;offset,
int&nbsp;length)</code>
<div class="block">Copy the content from this ByteBuff to a byte[] based on the given offset and
length</div>
</td>
</tr>
<tr id="i54" 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/hadoop/hbase/nio/ByteBuff.html#toString--">toString</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i55" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#wrap-java.nio.ByteBuffer-">wrap</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;buffer)</code>&nbsp;</td>
</tr>
<tr id="i56" class="altColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#wrap-java.nio.ByteBuffer:A-">wrap</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>[]&nbsp;buffers)</code>&nbsp;</td>
</tr>
<tr id="i57" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#wrap-java.nio.ByteBuffer:A-org.apache.hadoop.hbase.io.ByteBuffAllocator.Recycler-">wrap</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>[]&nbsp;buffers,
<a href="../../../../../org/apache/hadoop/hbase/io/ByteBuffAllocator.Recycler.html" title="interface in org.apache.hadoop.hbase.io">ByteBuffAllocator.Recycler</a>&nbsp;recycler)</code>&nbsp;</td>
</tr>
<tr id="i58" class="altColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#wrap-java.nio.ByteBuffer:A-org.apache.hadoop.hbase.nio.RefCnt-">wrap</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>[]&nbsp;buffers,
<a href="../../../../../org/apache/hadoop/hbase/nio/RefCnt.html" title="class in org.apache.hadoop.hbase.nio">RefCnt</a>&nbsp;refCnt)</code>
<div class="block">In theory, the upstream should never construct an ByteBuff by passing an given refCnt, so
please don't use this public method in other place.</div>
</td>
</tr>
<tr id="i59" class="rowColor">
<td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#wrap-java.nio.ByteBuffer-org.apache.hadoop.hbase.nio.RefCnt-">wrap</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;buffer,
<a href="../../../../../org/apache/hadoop/hbase/nio/RefCnt.html" title="class in org.apache.hadoop.hbase.nio">RefCnt</a>&nbsp;refCnt)</code>
<div class="block">Make this private because we don't want to expose the refCnt related wrap method to upstream.</div>
</td>
</tr>
<tr id="i60" class="altColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#wrap-java.util.List-">wrap</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&gt;&nbsp;buffers)</code>&nbsp;</td>
</tr>
<tr id="i61" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#wrap-java.util.List-org.apache.hadoop.hbase.io.ByteBuffAllocator.Recycler-">wrap</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&gt;&nbsp;buffers,
<a href="../../../../../org/apache/hadoop/hbase/io/ByteBuffAllocator.Recycler.html" title="interface in org.apache.hadoop.hbase.io">ByteBuffAllocator.Recycler</a>&nbsp;recycler)</code>&nbsp;</td>
</tr>
<tr id="i62" class="altColor">
<td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#wrap-java.util.List-org.apache.hadoop.hbase.nio.RefCnt-">wrap</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&gt;&nbsp;buffers,
<a href="../../../../../org/apache/hadoop/hbase/nio/RefCnt.html" title="class in org.apache.hadoop.hbase.nio">RefCnt</a>&nbsp;refCnt)</code>
<div class="block">Make this private because we don't want to expose the refCnt related wrap method to upstream.</div>
</td>
</tr>
<tr id="i63" class="rowColor">
<td class="colFirst"><code>abstract int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#write-java.nio.channels.FileChannel-long-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html?is-external=true" title="class or interface in java.nio.channels">FileChannel</a>&nbsp;channel,
long&nbsp;offset)</code>
<div class="block">Write this ByteBuff's data into target file</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.hadoop.hbase.nio.HBaseReferenceCounted">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.nio.<a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCounted.html" title="interface in org.apache.hadoop.hbase.nio">HBaseReferenceCounted</a></h3>
<code><a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCounted.html#release-int-">release</a>, <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCounted.html#retain-int-">retain</a>, <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCounted.html#touch--">touch</a>, <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCounted.html#touch-java.lang.Object-">touch</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hbase.thirdparty.io.netty.util.ReferenceCounted">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.hbase.thirdparty.io.netty.util.ReferenceCounted</h3>
<code>retain</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="REFERENCE_COUNT_NAME">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>REFERENCE_COUNT_NAME</h4>
<pre>private 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> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.62">REFERENCE_COUNT_NAME</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.nio.ByteBuff.REFERENCE_COUNT_NAME">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="NIO_BUFFER_LIMIT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>NIO_BUFFER_LIMIT</h4>
<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.63">NIO_BUFFER_LIMIT</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.nio.ByteBuff.NIO_BUFFER_LIMIT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="refCnt">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>refCnt</h4>
<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/nio/RefCnt.html" title="class in org.apache.hadoop.hbase.nio">RefCnt</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.65">refCnt</a></pre>
</li>
</ul>
<a name="CHANNEL_READER">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CHANNEL_READER</h4>
<pre>static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html" title="interface in org.apache.hadoop.hbase.nio">ByteBuff.ChannelReader</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.472">CHANNEL_READER</a></pre>
</li>
</ul>
<a name="FILE_READER">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>FILE_READER</h4>
<pre>static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html" title="interface in org.apache.hadoop.hbase.nio">ByteBuff.ChannelReader</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.476">FILE_READER</a></pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="ByteBuff--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ByteBuff</h4>
<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.61">ByteBuff</a>()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="checkRefCount--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkRefCount</h4>
<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.69">checkRefCount</a>()</pre>
<div class="block">Methods for reference count</div>
</li>
</ul>
<a name="refCnt--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>refCnt</h4>
<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.73">refCnt</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>refCnt</code>&nbsp;in interface&nbsp;<code>org.apache.hbase.thirdparty.io.netty.util.ReferenceCounted</code></dd>
</dl>
</li>
</ul>
<a name="release--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>release</h4>
<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.78">release</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>release</code>&nbsp;in interface&nbsp;<code>org.apache.hbase.thirdparty.io.netty.util.ReferenceCounted</code></dd>
</dl>
</li>
</ul>
<a name="position--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>position</h4>
<pre>public abstract&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.87">position</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this ByteBuff's current position</dd>
</dl>
</li>
</ul>
<a name="position-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>position</h4>
<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.94">position</a>(int&nbsp;position)</pre>
<div class="block">Sets this ByteBuff's position to the given value.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>position</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this object</dd>
</dl>
</li>
</ul>
<a name="skip-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>skip</h4>
<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.100">skip</a>(int&nbsp;len)</pre>
<div class="block">Jumps the current position of this ByteBuff by specified length.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>len</code> - the length to be skipped</dd>
</dl>
</li>
</ul>
<a name="moveBack-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>moveBack</h4>
<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.106">moveBack</a>(int&nbsp;len)</pre>
<div class="block">Jumps back the current position of this ByteBuff by specified length.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>len</code> - the length to move back</dd>
</dl>
</li>
</ul>
<a name="capacity--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>capacity</h4>
<pre>public abstract&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.111">capacity</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the total capacity of this ByteBuff.</dd>
</dl>
</li>
</ul>
<a name="limit--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>limit</h4>
<pre>public abstract&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.117">limit</a>()</pre>
<div class="block">Returns the limit of this ByteBuff</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>limit of the ByteBuff</dd>
</dl>
</li>
</ul>
<a name="limit-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>limit</h4>
<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.124">limit</a>(int&nbsp;limit)</pre>
<div class="block">Marks the limit of this ByteBuff.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>limit</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This ByteBuff</dd>
</dl>
</li>
</ul>
<a name="rewind--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rewind</h4>
<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.130">rewind</a>()</pre>
<div class="block">Rewinds this ByteBuff and the position is set to 0</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this object</dd>
</dl>
</li>
</ul>
<a name="mark--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>mark</h4>
<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.136">mark</a>()</pre>
<div class="block">Marks the current position of the ByteBuff</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this object</dd>
</dl>
</li>
</ul>
<a name="asSubByteBuffer-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>asSubByteBuffer</h4>
<pre>public abstract&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.149">asSubByteBuffer</a>(int&nbsp;length)</pre>
<div class="block">Returns bytes from current position till length specified, as a single ByteBuffer. When all
these bytes happen to be in a single ByteBuffer, which this object wraps, that ByteBuffer item
as such will be returned. So users are warned not to change the position or limit of this
returned ByteBuffer. The position of the returned byte buffer is at the begin of the required
bytes. When the required bytes happen to span across multiple ByteBuffers, this API will copy
the bytes to a newly created ByteBuffer of required size and return that.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>length</code> - number of bytes required.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>bytes from current position till length specified, as a single ByteButter.</dd>
</dl>
</li>
</ul>
<a name="asSubByteBuffer-int-int-org.apache.hadoop.hbase.util.ObjectIntPair-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>asSubByteBuffer</h4>
<pre>public abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.168">asSubByteBuffer</a>(int&nbsp;offset,
int&nbsp;length,
<a href="../../../../../org/apache/hadoop/hbase/util/ObjectIntPair.html" title="class in org.apache.hadoop.hbase.util">ObjectIntPair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&gt;&nbsp;pair)</pre>
<div class="block">Returns bytes from given offset till length specified, as a single ByteBuffer. When all these
bytes happen to be in a single ByteBuffer, which this object wraps, that ByteBuffer item as
such will be returned (with offset in this ByteBuffer where the bytes starts). So users are
warned not to change the position or limit of this returned ByteBuffer. When the required bytes
happen to span across multiple ByteBuffers, this API will copy the bytes to a newly created
ByteBuffer of required size and return that.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offset</code> - the offset in this ByteBuff from where the subBuffer should be created</dd>
<dd><code>length</code> - the length of the subBuffer</dd>
<dd><code>pair</code> - a pair that will have the bytes from the current position till length specified,
as a single ByteBuffer and offset in that Buffer where the bytes starts.
Since this API gets called in a loop we are passing a pair to it which could be created
outside the loop and the method would set the values on the pair that is passed in by
the caller. Thus it avoids more object creations that would happen if the pair that is
returned is created by this method every time.</dd>
</dl>
</li>
</ul>
<a name="remaining--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>remaining</h4>
<pre>public abstract&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.175">remaining</a>()</pre>
<div class="block">Returns the number of elements between the current position and the
limit.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the remaining elements in this ByteBuff</dd>
</dl>
</li>
</ul>
<a name="hasRemaining--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasRemaining</h4>
<pre>public abstract&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.181">hasRemaining</a>()</pre>
<div class="block">Returns true if there are elements between the current position and the limt</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if there are elements, false otherwise</dd>
</dl>
</li>
</ul>
<a name="reset--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reset</h4>
<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.188">reset</a>()</pre>
<div class="block">Similar to <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio"><code>ByteBuffer</code></a>.reset(), ensures that this ByteBuff
is reset back to last marked position.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This ByteBuff</dd>
</dl>
</li>
</ul>
<a name="slice--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>slice</h4>
<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.196">slice</a>()</pre>
<div class="block">Returns an ByteBuff which is a sliced version of this ByteBuff. The position, limit and mark
of the new ByteBuff will be independent than that of the original ByteBuff.
The content of the new ByteBuff will start at this ByteBuff's current position</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a sliced ByteBuff</dd>
</dl>
</li>
</ul>
<a name="duplicate--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>duplicate</h4>
<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.207">duplicate</a>()</pre>
<div class="block">Returns an ByteBuff which is a duplicate version of this ByteBuff. The
position, limit and mark of the new ByteBuff will be independent than that
of the original ByteBuff. The content of the new ByteBuff will start at
this ByteBuff's current position The position, limit and mark of the new
ByteBuff would be identical to this ByteBuff in terms of values.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a sliced ByteBuff</dd>
</dl>
</li>
</ul>
<a name="get--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
<pre>public abstract&nbsp;byte&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.214">get</a>()</pre>
<div class="block">A relative method that returns byte at the current position. Increments the
current position by the size of a byte.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the byte at the current position</dd>
</dl>
</li>
</ul>
<a name="get-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
<pre>public abstract&nbsp;byte&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.221">get</a>(int&nbsp;index)</pre>
<div class="block">Fetches the byte at the given index. Does not change position of the underlying ByteBuffers</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>index</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the byte at the given index</dd>
</dl>
</li>
</ul>
<a name="getByteAfterPosition-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getByteAfterPosition</h4>
<pre>public abstract&nbsp;byte&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.230">getByteAfterPosition</a>(int&nbsp;offset)</pre>
<div class="block">Fetches the byte at the given offset from current position. Does not change position
of the underlying ByteBuffers.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offset</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the byte value at the given index.</dd>
</dl>
</li>
</ul>
<a name="put-byte-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>put</h4>
<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.237">put</a>(byte&nbsp;b)</pre>
<div class="block">Writes a byte to this ByteBuff at the current position and increments the position</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>b</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this object</dd>
</dl>
</li>
</ul>
<a name="put-int-byte-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>put</h4>
<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.245">put</a>(int&nbsp;index,
byte&nbsp;b)</pre>
<div class="block">Writes a byte to this ByteBuff at the given index</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>index</code> - </dd>
<dd><code>b</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this object</dd>
</dl>
</li>
</ul>
<a name="get-byte:A-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
<pre>public abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.254">get</a>(byte[]&nbsp;dst,
int&nbsp;offset,
int&nbsp;length)</pre>
<div class="block">Copies the specified number of bytes from this ByteBuff's current position to
the byte[]'s offset. Also advances the position of the ByteBuff by the given length.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dst</code> - </dd>
<dd><code>offset</code> - within the current array</dd>
<dd><code>length</code> - upto which the bytes to be copied</dd>
</dl>
</li>
</ul>
<a name="get-int-byte:A-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
<pre>public abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.264">get</a>(int&nbsp;sourceOffset,
byte[]&nbsp;dst,
int&nbsp;offset,
int&nbsp;length)</pre>
<div class="block">Copies the specified number of bytes from this ByteBuff's given position to
the byte[]'s offset. The position of the ByteBuff remains in the current position only</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sourceOffset</code> - the offset in this ByteBuff from where the copy should happen</dd>
<dd><code>dst</code> - the byte[] to which the ByteBuff's content is to be copied</dd>
<dd><code>offset</code> - within the current array</dd>
<dd><code>length</code> - upto which the bytes to be copied</dd>
</dl>
</li>
</ul>
<a name="get-byte:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
<pre>public abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.271">get</a>(byte[]&nbsp;dst)</pre>
<div class="block">Copies the content from this ByteBuff's current position to the byte array and fills it. Also
advances the position of the ByteBuff by the length of the byte[].</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dst</code> - </dd>
</dl>
</li>
</ul>
<a name="put-byte:A-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>put</h4>
<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.280">put</a>(byte[]&nbsp;src,
int&nbsp;offset,
int&nbsp;length)</pre>
<div class="block">Copies from the given byte[] to this ByteBuff</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>src</code> - </dd>
<dd><code>offset</code> - the position in the byte array from which the copy should be done</dd>
<dd><code>length</code> - the length upto which the copy should happen</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this ByteBuff</dd>
</dl>
</li>
</ul>
<a name="put-byte:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>put</h4>
<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.287">put</a>(byte[]&nbsp;src)</pre>
<div class="block">Copies from the given byte[] to this ByteBuff</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>src</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this ByteBuff</dd>
</dl>
</li>
</ul>
<a name="hasArray--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasArray</h4>
<pre>public abstract&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.292">hasArray</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true or false if the underlying BB support hasArray</dd>
</dl>
</li>
</ul>
<a name="array--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>array</h4>
<pre>public abstract&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.297">array</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the byte[] if the underlying BB has single BB and hasArray true</dd>
</dl>
</li>
</ul>
<a name="arrayOffset--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>arrayOffset</h4>
<pre>public abstract&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.302">arrayOffset</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the arrayOffset of the byte[] incase of a single BB backed ByteBuff</dd>
</dl>
</li>
</ul>
<a name="getShort--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getShort</h4>
<pre>public abstract&nbsp;short&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.310">getShort</a>()</pre>
<div class="block">Returns the short value at the current position. Also advances the position by the size
of short</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the short value at the current position</dd>
</dl>
</li>
</ul>
<a name="getShort-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getShort</h4>
<pre>public abstract&nbsp;short&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.322">getShort</a>(int&nbsp;index)</pre>
<div class="block">Fetches the short value at the given index. Does not change position of the
underlying ByteBuffers. The caller is sure that the index will be after
the current position of this ByteBuff. So even if the current short does not fit in the
current item we can safely move to the next item and fetch the remaining bytes forming
the short</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>index</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the short value at the given index</dd>
</dl>
</li>
</ul>
<a name="getShortAfterPosition-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getShortAfterPosition</h4>
<pre>public abstract&nbsp;short&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.331">getShortAfterPosition</a>(int&nbsp;offset)</pre>
<div class="block">Fetches the short value at the given offset from current position. Does not change position
of the underlying ByteBuffers.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offset</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the short value at the given index.</dd>
</dl>
</li>
</ul>
<a name="getInt--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInt</h4>
<pre>public abstract&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.338">getInt</a>()</pre>
<div class="block">Returns the int value at the current position. Also advances the position by the size of int</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the int value at the current position</dd>
</dl>
</li>
</ul>
<a name="putInt-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>putInt</h4>
<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.346">putInt</a>(int&nbsp;value)</pre>
<div class="block">Writes an int to this ByteBuff at its current position. Also advances the position
by size of int</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - Int value to write</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this object</dd>
</dl>
</li>
</ul>
<a name="getInt-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInt</h4>
<pre>public abstract&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.357">getInt</a>(int&nbsp;index)</pre>
<div class="block">Fetches the int at the given index. Does not change position of the underlying ByteBuffers.
Even if the current int does not fit in the
current item we can safely move to the next item and fetch the remaining bytes forming
the int</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>index</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the int value at the given index</dd>
</dl>
</li>
</ul>
<a name="getIntAfterPosition-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIntAfterPosition</h4>
<pre>public abstract&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.366">getIntAfterPosition</a>(int&nbsp;offset)</pre>
<div class="block">Fetches the int value at the given offset from current position. Does not change position
of the underlying ByteBuffers.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offset</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the int value at the given index.</dd>
</dl>
</li>
</ul>
<a name="getLong--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLong</h4>
<pre>public abstract&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.373">getLong</a>()</pre>
<div class="block">Returns the long value at the current position. Also advances the position by the size of long</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the long value at the current position</dd>
</dl>
</li>
</ul>
<a name="putLong-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>putLong</h4>
<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.381">putLong</a>(long&nbsp;value)</pre>
<div class="block">Writes a long to this ByteBuff at its current position.
Also advances the position by size of long</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - Long value to write</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this object</dd>
</dl>
</li>
</ul>
<a name="getLong-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLong</h4>
<pre>public abstract&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.393">getLong</a>(int&nbsp;index)</pre>
<div class="block">Fetches the long at the given index. Does not change position of the
underlying ByteBuffers. The caller is sure that the index will be after
the current position of this ByteBuff. So even if the current long does not fit in the
current item we can safely move to the next item and fetch the remaining bytes forming
the long</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>index</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the long value at the given index</dd>
</dl>
</li>
</ul>
<a name="getLongAfterPosition-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLongAfterPosition</h4>
<pre>public abstract&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.402">getLongAfterPosition</a>(int&nbsp;offset)</pre>
<div class="block">Fetches the long value at the given offset from current position. Does not change position
of the underlying ByteBuffers.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offset</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the long value at the given index.</dd>
</dl>
</li>
</ul>
<a name="toBytes--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toBytes</h4>
<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.408">toBytes</a>()</pre>
<div class="block">Copy the content from this ByteBuff to a byte[].</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>byte[] with the copied contents from this ByteBuff.</dd>
</dl>
</li>
</ul>
<a name="toBytes-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toBytes</h4>
<pre>public abstract&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.422">toBytes</a>(int&nbsp;offset,
int&nbsp;length)</pre>
<div class="block">Copy the content from this ByteBuff to a byte[] based on the given offset and
length</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offset</code> - the position from where the copy should start</dd>
<dd><code>length</code> - the length upto which the copy has to be done</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>byte[] with the copied contents from this ByteBuff.</dd>
</dl>
</li>
</ul>
<a name="get-java.nio.ByteBuffer-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
<pre>public abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.433">get</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;out,
int&nbsp;sourceOffset,
int&nbsp;length)</pre>
<div class="block">Copies the content from this ByteBuff to a ByteBuffer
Note : This will advance the position marker of <code>out</code> but not change the position maker
for this ByteBuff</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>out</code> - the ByteBuffer to which the copy has to happen</dd>
<dd><code>sourceOffset</code> - the offset in the ByteBuff from which the elements has
to be copied</dd>
<dd><code>length</code> - the length in this ByteBuff upto which the elements has to be copied</dd>
</dl>
</li>
</ul>
<a name="put-int-org.apache.hadoop.hbase.nio.ByteBuff-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>put</h4>
<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.444">put</a>(int&nbsp;offset,
<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;src,
int&nbsp;srcOffset,
int&nbsp;length)</pre>
<div class="block">Copies the contents from the src ByteBuff to this ByteBuff. This will be
absolute positional copying and
won't affect the position of any of the buffers.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offset</code> - the position in this ByteBuff to which the copy should happen</dd>
<dd><code>src</code> - the src ByteBuff</dd>
<dd><code>srcOffset</code> - the offset in the src ByteBuff from where the elements should be read</dd>
<dd><code>length</code> - the length up to which the copy should happen</dd>
</dl>
</li>
</ul>
<a name="read-java.nio.channels.ReadableByteChannel-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>read</h4>
<pre>public abstract&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.452">read</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/ReadableByteChannel.html?is-external=true" title="class or interface in java.nio.channels">ReadableByteChannel</a>&nbsp;channel)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Reads bytes from the given channel into this ByteBuff</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>channel</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The number of bytes read from the channel</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="read-java.nio.channels.FileChannel-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>read</h4>
<pre>public abstract&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.457">read</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html?is-external=true" title="class or interface in java.nio.channels">FileChannel</a>&nbsp;channel,
long&nbsp;offset)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Reads bytes from FileChannel into this ByteBuff</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="write-java.nio.channels.FileChannel-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>write</h4>
<pre>public abstract&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.462">write</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html?is-external=true" title="class or interface in java.nio.channels">FileChannel</a>&nbsp;channel,
long&nbsp;offset)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Write this ByteBuff's data into target file</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="read-java.nio.channels.ReadableByteChannel-java.nio.ByteBuffer-long-org.apache.hadoop.hbase.nio.ByteBuff.ChannelReader-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>read</h4>
<pre>public static&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.481">read</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/ReadableByteChannel.html?is-external=true" title="class or interface in java.nio.channels">ReadableByteChannel</a>&nbsp;channel,
<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;buf,
long&nbsp;offset,
<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html" title="interface in org.apache.hadoop.hbase.nio">ByteBuff.ChannelReader</a>&nbsp;reader)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="readCompressedInt-org.apache.hadoop.hbase.nio.ByteBuff-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readCompressedInt</h4>
<pre>public static&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.511">readCompressedInt</a>(<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;buf)</pre>
<div class="block">Read integer from ByteBuff coded in 7 bits and increment position.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Read integer.</dd>
</dl>
</li>
</ul>
<a name="compareTo-org.apache.hadoop.hbase.nio.ByteBuff-int-int-org.apache.hadoop.hbase.nio.ByteBuff-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>compareTo</h4>
<pre>public static&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.532">compareTo</a>(<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;buf1,
int&nbsp;o1,
int&nbsp;len1,
<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;buf2,
int&nbsp;o2,
int&nbsp;len2)</pre>
<div class="block">Compares two ByteBuffs</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>buf1</code> - the first ByteBuff</dd>
<dd><code>o1</code> - the offset in the first ByteBuff from where the compare has to happen</dd>
<dd><code>len1</code> - the length in the first ByteBuff upto which the compare has to happen</dd>
<dd><code>buf2</code> - the second ByteBuff</dd>
<dd><code>o2</code> - the offset in the second ByteBuff from where the compare has to happen</dd>
<dd><code>len2</code> - the length in the second ByteBuff upto which the compare has to happen</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Positive if buf1 is bigger than buf2, 0 if they are equal, and negative if buf1 is
smaller than buf2.</dd>
</dl>
</li>
</ul>
<a name="readLong-org.apache.hadoop.hbase.nio.ByteBuff-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readLong</h4>
<pre>public static&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.555">readLong</a>(<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;in,
int&nbsp;fitInBytes)</pre>
<div class="block">Read long which was written to fitInBytes bytes and increment position.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>fitInBytes</code> - In how many bytes given long is stored.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The value of parsed long.</dd>
</dl>
</li>
</ul>
<a name="nioByteBuffers--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nioByteBuffers</h4>
<pre>public abstract&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.563">nioByteBuffers</a>()</pre>
</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;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.566">toString</a>()</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="wrap-java.nio.ByteBuffer:A-org.apache.hadoop.hbase.nio.RefCnt-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>wrap</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.580">wrap</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>[]&nbsp;buffers,
<a href="../../../../../org/apache/hadoop/hbase/nio/RefCnt.html" title="class in org.apache.hadoop.hbase.nio">RefCnt</a>&nbsp;refCnt)</pre>
<div class="block">In theory, the upstream should never construct an ByteBuff by passing an given refCnt, so
please don't use this public method in other place. Make the method public here because the
BucketEntry#wrapAsCacheable in hbase-server module will use its own refCnt and ByteBuffers from
IOEngine to composite an HFileBlock's ByteBuff, we didn't find a better way so keep the public
way here.</div>
</li>
</ul>
<a name="wrap-java.nio.ByteBuffer:A-org.apache.hadoop.hbase.io.ByteBuffAllocator.Recycler-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>wrap</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.588">wrap</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>[]&nbsp;buffers,
<a href="../../../../../org/apache/hadoop/hbase/io/ByteBuffAllocator.Recycler.html" title="interface in org.apache.hadoop.hbase.io">ByteBuffAllocator.Recycler</a>&nbsp;recycler)</pre>
</li>
</ul>
<a name="wrap-java.nio.ByteBuffer:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>wrap</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.592">wrap</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>[]&nbsp;buffers)</pre>
</li>
</ul>
<a name="wrap-java.util.List-org.apache.hadoop.hbase.io.ByteBuffAllocator.Recycler-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>wrap</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.596">wrap</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&gt;&nbsp;buffers,
<a href="../../../../../org/apache/hadoop/hbase/io/ByteBuffAllocator.Recycler.html" title="interface in org.apache.hadoop.hbase.io">ByteBuffAllocator.Recycler</a>&nbsp;recycler)</pre>
</li>
</ul>
<a name="wrap-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>wrap</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.600">wrap</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&gt;&nbsp;buffers)</pre>
</li>
</ul>
<a name="wrap-java.nio.ByteBuffer-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>wrap</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.604">wrap</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;buffer)</pre>
</li>
</ul>
<a name="wrap-java.util.List-org.apache.hadoop.hbase.nio.RefCnt-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>wrap</h4>
<pre>private static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.611">wrap</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&gt;&nbsp;buffers,
<a href="../../../../../org/apache/hadoop/hbase/nio/RefCnt.html" title="class in org.apache.hadoop.hbase.nio">RefCnt</a>&nbsp;refCnt)</pre>
<div class="block">Make this private because we don't want to expose the refCnt related wrap method to upstream.</div>
</li>
</ul>
<a name="wrap-java.nio.ByteBuffer-org.apache.hadoop.hbase.nio.RefCnt-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>wrap</h4>
<pre>private static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.622">wrap</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;buffer,
<a href="../../../../../org/apache/hadoop/hbase/nio/RefCnt.html" title="class in org.apache.hadoop.hbase.nio">RefCnt</a>&nbsp;refCnt)</pre>
<div class="block">Make this private because we don't want to expose the refCnt related wrap method to upstream.</div>
</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/ByteBuff.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>Prev&nbsp;Class</li>
<li><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html" title="interface in org.apache.hadoop.hbase.nio"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/hadoop/hbase/nio/ByteBuff.html" target="_top">Frames</a></li>
<li><a href="ByteBuff.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; 2007&#x2013;2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>