UNPKG

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
<!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 (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:&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.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">&nbsp;</span></caption> <tr> <th class="colFirst" scope="col">Modifier and Type</th> <th class="colLast" scope="col">Class and Description</th> </tr> <tr class="altColor"> <td class="colFirst"><code>static class&nbsp;</code></td> <td class="colLast"><code><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">&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>long</code></td> <td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/io/util/SegmentedFile.html#length">length</a></strong></code>&nbsp;</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>&nbsp;</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>&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="overviewSummary" 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="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&nbsp;path, long&nbsp;length, long&nbsp;onDiskLength)</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="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation"> <caption><span>Methods</span><span class="tabEnd">&nbsp;</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>&nbsp;mode)</code>&nbsp;</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>&nbsp;</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>&nbsp;writer)</code>&nbsp;</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&nbsp;position)</code>&nbsp;</td> </tr> <tr class="rowColor"> <td class="colFirst"><code>java.util.Iterator&lt;<a href="../../../../../org/apache/cassandra/io/util/FileDataInput.html" title="interface in org.apache.cassandra.io.util">FileDataInput</a>&gt;</code></td> <td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/io/util/SegmentedFile.html#iterator(long)">iterator</a></strong>(long&nbsp;position)</code>&nbsp;</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>&nbsp;</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.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&nbsp;java.lang.String path</pre> </li> </ul> <a name="length"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>length</h4> <pre>public final&nbsp;long length</pre> </li> </ul> <a name="onDiskLength"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>onDiskLength</h4> <pre>public final&nbsp;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&nbsp;SegmentedFile(java.lang.String&nbsp;path, long&nbsp;length, long&nbsp;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&nbsp;<a href="../../../../../org/apache/cassandra/io/util/SegmentedFile.Builder.html" title="class in org.apache.cassandra.io.util">SegmentedFile.Builder</a>&nbsp;getBuilder(<a href="../../../../../org/apache/cassandra/config/Config.DiskAccessMode.html" title="enum in org.apache.cassandra.config">Config.DiskAccessMode</a>&nbsp;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&nbsp;<a href="../../../../../org/apache/cassandra/io/util/SegmentedFile.Builder.html" title="class in org.apache.cassandra.io.util">SegmentedFile.Builder</a>&nbsp;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&nbsp;<a href="../../../../../org/apache/cassandra/io/util/SegmentedFile.Builder.html" title="class in org.apache.cassandra.io.util">SegmentedFile.Builder</a>&nbsp;getCompressedBuilder(<a href="../../../../../org/apache/cassandra/io/compress/CompressedSequentialWriter.html" title="class in org.apache.cassandra.io.compress">CompressedSequentialWriter</a>&nbsp;writer)</pre> </li> </ul> <a name="getSegment(long)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getSegment</h4> <pre>public abstract&nbsp;<a href="../../../../../org/apache/cassandra/io/util/FileDataInput.html" title="interface in org.apache.cassandra.io.util">FileDataInput</a>&nbsp;getSegment(long&nbsp;position)</pre> </li> </ul> <a name="iterator(long)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>iterator</h4> <pre>public&nbsp;java.util.Iterator&lt;<a href="../../../../../org/apache/cassandra/io/util/FileDataInput.html" title="interface in org.apache.cassandra.io.util">FileDataInput</a>&gt;&nbsp;iterator(long&nbsp;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&nbsp;void&nbsp;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&nbsp;java.lang.String&nbsp;toString()</pre> <dl> <dt><strong>Overrides:</strong></dt> <dd><code>toString</code>&nbsp;in class&nbsp;<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:&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 &copy; 2014 The Apache Software Foundation</small></p> </body> </html>