blob: bcc278a7acbbb1e7de4c49d2efb25eaaa6e3ac68 [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 (version 1.7.0_67) on Thu Feb 04 13:28:42 CST 2016 -->
<title>OffsetStorage</title>
<meta name="date" content="2016-02-04">
<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="OffsetStorage";
}
//-->
</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="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="../../../../../io/gearpump/streaming/transaction/api/OffsetManager.html" title="interface in io.gearpump.streaming.transaction.api"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../io/gearpump/streaming/transaction/api/OffsetStorage.Overflow.html" title="class in io.gearpump.streaming.transaction.api"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?io/gearpump/streaming/transaction/api/OffsetStorage.html" target="_top">Frames</a></li>
<li><a href="OffsetStorage.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>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&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">io.gearpump.streaming.transaction.api</div>
<h2 title="Interface OffsetStorage" class="title">Interface OffsetStorage</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public interface <span class="strong">OffsetStorage</span></pre>
<div class="block">OffsetStorage stores the mapping from TimeStamp to Offset</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">Interface and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><strong><a href="../../../../../io/gearpump/streaming/transaction/api/OffsetStorage.Overflow.html" title="class in io.gearpump.streaming.transaction.api">OffsetStorage.Overflow</a></strong></code>
<div class="block">Overflow means the looked up time is
larger than the maximum stored TimeStamp</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><strong><a href="../../../../../io/gearpump/streaming/transaction/api/OffsetStorage.Overflow$.html" title="class in io.gearpump.streaming.transaction.api">OffsetStorage.Overflow$</a></strong></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><strong><a href="../../../../../io/gearpump/streaming/transaction/api/OffsetStorage.StorageEmpty$.html" title="class in io.gearpump.streaming.transaction.api">OffsetStorage.StorageEmpty$</a></strong></code>
<div class="block">StorageEmpty means no data has been stored</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><strong><a href="../../../../../io/gearpump/streaming/transaction/api/OffsetStorage.Underflow.html" title="class in io.gearpump.streaming.transaction.api">OffsetStorage.Underflow</a></strong></code>
<div class="block">Underflow means the looked up time is
smaller than the minimum stored TimeStamp</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><strong><a href="../../../../../io/gearpump/streaming/transaction/api/OffsetStorage.Underflow$.html" title="class in io.gearpump.streaming.transaction.api">OffsetStorage.Underflow$</a></strong></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>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../io/gearpump/streaming/transaction/api/OffsetStorage.html#append(long,%20byte[])">append</a></strong>(long&nbsp;time,
byte[]&nbsp;offset)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../io/gearpump/streaming/transaction/api/OffsetStorage.html#close()">close</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>scala.util.Try&lt;byte[]&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../../io/gearpump/streaming/transaction/api/OffsetStorage.html#lookUp(long)">lookUp</a></strong>(long&nbsp;time)</code>
<div class="block">try to look up the time in the OffsetStorage
return the corresponding Offset if the time is
in the range of stored TimeStamps or one of the
failure info (StorageEmpty, Overflow, Underflow)</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="lookUp(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>lookUp</h4>
<pre>scala.util.Try&lt;byte[]&gt;&nbsp;lookUp(long&nbsp;time)</pre>
<div class="block">try to look up the time in the OffsetStorage
return the corresponding Offset if the time is
in the range of stored TimeStamps or one of the
failure info (StorageEmpty, Overflow, Underflow)</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>time</code> - the time to look for</dd>
<dt><span class="strong">Returns:</span></dt><dd>the corresponding offset if the time is in the range, otherwise failure</dd></dl>
</li>
</ul>
<a name="append(long, byte[])">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>append</h4>
<pre>void&nbsp;append(long&nbsp;time,
byte[]&nbsp;offset)</pre>
</li>
</ul>
<a name="close()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>close</h4>
<pre>void&nbsp;close()</pre>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!-- -->
</a><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="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="../../../../../io/gearpump/streaming/transaction/api/OffsetManager.html" title="interface in io.gearpump.streaming.transaction.api"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../io/gearpump/streaming/transaction/api/OffsetStorage.Overflow.html" title="class in io.gearpump.streaming.transaction.api"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?io/gearpump/streaming/transaction/api/OffsetStorage.html" target="_top">Frames</a></li>
<li><a href="OffsetStorage.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>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>