cassandra-server
Version:
A thin Javascript wrapper around Apache Cassandra to provide out of the box server support
445 lines (443 loc) • 18.8 kB
HTML
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (version 1.7.0_67) on Sun Sep 07 15:29:33 CEST 2014 -->
<title>SegmentedFile (apache-cassandra API)</title>
<meta name="date" content="2014-09-07">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="SegmentedFile (apache-cassandra API)";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><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/SegmentedFile.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/cassandra/io/util/RandomAccessReader.BufferedRandomAccessFileMark.html" title="class in org.apache.cassandra.io.util"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../org/apache/cassandra/io/util/SegmentedFile.Builder.html" title="class in org.apache.cassandra.io.util"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/cassandra/io/util/SegmentedFile.html" target="_top">Frames</a></li>
<li><a href="SegmentedFile.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All 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: </li>
<li><a href="#nested_class_summary">Nested</a> | </li>
<li><a href="#field_summary">Field</a> | </li>
<li><a href="#constructor_summary">Constr</a> | </li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail: </li>
<li><a href="#field_detail">Field</a> | </li>
<li><a href="#constructor_detail">Constr</a> | </li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.cassandra.io.util</div>
<h2 title="Class SegmentedFile" class="title">Class SegmentedFile</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.cassandra.io.util.SegmentedFile</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../../org/apache/cassandra/io/util/BufferedSegmentedFile.html" title="class in org.apache.cassandra.io.util">BufferedSegmentedFile</a>, <a href="../../../../../org/apache/cassandra/io/util/CompressedSegmentedFile.html" title="class in org.apache.cassandra.io.util">CompressedSegmentedFile</a>, <a href="../../../../../org/apache/cassandra/io/util/MmappedSegmentedFile.html" title="class in org.apache.cassandra.io.util">MmappedSegmentedFile</a>, <a href="../../../../../org/apache/cassandra/io/util/PoolingSegmentedFile.html" title="class in org.apache.cassandra.io.util">PoolingSegmentedFile</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="strong">SegmentedFile</span>
extends java.lang.Object</pre>
<div class="block">Abstracts a read-only file that has been split into segments, each of which can be represented by an independent
FileDataInput. Allows for iteration over the FileDataInputs, or random access to the FileDataInput for a given
position.
The JVM can only map up to 2GB at a time, so each segment is at most that size when using mmap i/o. If a segment
would need to be longer than 2GB, that segment will not be mmap'd, and a new RandomAccessFile will be created for
each access to that segment.</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="overviewSummary" 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"> </span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class </code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/io/util/SegmentedFile.Builder.html" title="class in org.apache.cassandra.io.util">SegmentedFile.Builder</a></strong></code>
<div class="block">Collects potential segmentation points in an underlying file, and builds a SegmentedFile to represent it.</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="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd"> </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>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/io/util/SegmentedFile.html#length">length</a></strong></code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/io/util/SegmentedFile.html#onDiskLength">onDiskLength</a></strong></code> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/io/util/SegmentedFile.html#path">path</a></strong></code> </td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd"> </span></caption>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colLast" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/io/util/SegmentedFile.html#SegmentedFile(java.lang.String,%20long,%20long)">SegmentedFile</a></strong>(java.lang.String path,
long length,
long onDiskLength)</code> </td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd"> </span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/io/util/SegmentedFile.html#cleanup()">cleanup</a></strong>()</code>
<div class="block">Do whatever action is needed to reclaim ressources used by this SegmentedFile.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/cassandra/io/util/SegmentedFile.Builder.html" title="class in org.apache.cassandra.io.util">SegmentedFile.Builder</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/io/util/SegmentedFile.html#getBuilder(org.apache.cassandra.config.Config.DiskAccessMode)">getBuilder</a></strong>(<a href="../../../../../org/apache/cassandra/config/Config.DiskAccessMode.html" title="enum in org.apache.cassandra.config">Config.DiskAccessMode</a> mode)</code> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/cassandra/io/util/SegmentedFile.Builder.html" title="class in org.apache.cassandra.io.util">SegmentedFile.Builder</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/io/util/SegmentedFile.html#getCompressedBuilder()">getCompressedBuilder</a></strong>()</code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/cassandra/io/util/SegmentedFile.Builder.html" title="class in org.apache.cassandra.io.util">SegmentedFile.Builder</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/io/util/SegmentedFile.html#getCompressedBuilder(org.apache.cassandra.io.compress.CompressedSequentialWriter)">getCompressedBuilder</a></strong>(<a href="../../../../../org/apache/cassandra/io/compress/CompressedSequentialWriter.html" title="class in org.apache.cassandra.io.compress">CompressedSequentialWriter</a> writer)</code> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/cassandra/io/util/FileDataInput.html" title="interface in org.apache.cassandra.io.util">FileDataInput</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/io/util/SegmentedFile.html#getSegment(long)">getSegment</a></strong>(long position)</code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.Iterator<<a href="../../../../../org/apache/cassandra/io/util/FileDataInput.html" title="interface in org.apache.cassandra.io.util">FileDataInput</a>></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/io/util/SegmentedFile.html#iterator(long)">iterator</a></strong>(long position)</code> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/io/util/SegmentedFile.html#toString()">toString</a></strong>()</code> </td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</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="path">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>path</h4>
<pre>public final java.lang.String path</pre>
</li>
</ul>
<a name="length">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>length</h4>
<pre>public final long length</pre>
</li>
</ul>
<a name="onDiskLength">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>onDiskLength</h4>
<pre>public final long onDiskLength</pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="SegmentedFile(java.lang.String, long, long)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SegmentedFile</h4>
<pre>protected SegmentedFile(java.lang.String path,
long length,
long onDiskLength)</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getBuilder(org.apache.cassandra.config.Config.DiskAccessMode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBuilder</h4>
<pre>public static <a href="../../../../../org/apache/cassandra/io/util/SegmentedFile.Builder.html" title="class in org.apache.cassandra.io.util">SegmentedFile.Builder</a> getBuilder(<a href="../../../../../org/apache/cassandra/config/Config.DiskAccessMode.html" title="enum in org.apache.cassandra.config">Config.DiskAccessMode</a> mode)</pre>
<dl><dt><span class="strong">Returns:</span></dt><dd>A SegmentedFile.Builder.</dd></dl>
</li>
</ul>
<a name="getCompressedBuilder()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCompressedBuilder</h4>
<pre>public static <a href="../../../../../org/apache/cassandra/io/util/SegmentedFile.Builder.html" title="class in org.apache.cassandra.io.util">SegmentedFile.Builder</a> getCompressedBuilder()</pre>
</li>
</ul>
<a name="getCompressedBuilder(org.apache.cassandra.io.compress.CompressedSequentialWriter)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCompressedBuilder</h4>
<pre>public static <a href="../../../../../org/apache/cassandra/io/util/SegmentedFile.Builder.html" title="class in org.apache.cassandra.io.util">SegmentedFile.Builder</a> getCompressedBuilder(<a href="../../../../../org/apache/cassandra/io/compress/CompressedSequentialWriter.html" title="class in org.apache.cassandra.io.compress">CompressedSequentialWriter</a> writer)</pre>
</li>
</ul>
<a name="getSegment(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSegment</h4>
<pre>public abstract <a href="../../../../../org/apache/cassandra/io/util/FileDataInput.html" title="interface in org.apache.cassandra.io.util">FileDataInput</a> getSegment(long position)</pre>
</li>
</ul>
<a name="iterator(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>iterator</h4>
<pre>public java.util.Iterator<<a href="../../../../../org/apache/cassandra/io/util/FileDataInput.html" title="interface in org.apache.cassandra.io.util">FileDataInput</a>> iterator(long position)</pre>
<dl><dt><span class="strong">Returns:</span></dt><dd>An Iterator over segments, beginning with the segment containing the given position: each segment must be closed after use.</dd></dl>
</li>
</ul>
<a name="cleanup()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cleanup</h4>
<pre>public abstract void cleanup()</pre>
<div class="block">Do whatever action is needed to reclaim ressources used by this SegmentedFile.</div>
</li>
</ul>
<a name="toString()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toString</h4>
<pre>public java.lang.String toString()</pre>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code>toString</code> in class <code>java.lang.Object</code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!-- -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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/SegmentedFile.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/cassandra/io/util/RandomAccessReader.BufferedRandomAccessFileMark.html" title="class in org.apache.cassandra.io.util"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../org/apache/cassandra/io/util/SegmentedFile.Builder.html" title="class in org.apache.cassandra.io.util"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/cassandra/io/util/SegmentedFile.html" target="_top">Frames</a></li>
<li><a href="SegmentedFile.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All 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: </li>
<li><a href="#nested_class_summary">Nested</a> | </li>
<li><a href="#field_summary">Field</a> | </li>
<li><a href="#constructor_summary">Constr</a> | </li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail: </li>
<li><a href="#field_detail">Field</a> | </li>
<li><a href="#constructor_detail">Constr</a> | </li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright © 2014 The Apache Software Foundation</small></p>
</body>
</html>