| <!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 (1.8.0_25) on Thu Aug 11 09:54:09 PDT 2016 --> |
| <title>WindowState</title> |
| <meta name="date" content="2016-08-11"> |
| <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="WindowState"; |
| } |
| } |
| catch(err) { |
| } |
| //--> |
| var methods = {"i0":10,"i1":10,"i2":10,"i3":9,"i4":10,"i5":10,"i6":10}; |
| var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]}; |
| var altColor = "altColor"; |
| var rowColor = "rowColor"; |
| var tableTab = "tableTab"; |
| var activeTableTab = "activeTableTab"; |
| </script> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| <!-- ========= START OF TOP NAVBAR ======= --> |
| <div class="topNav"><a name="navbar.top"> |
| <!-- --> |
| </a> |
| <div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div> |
| <a name="navbar.top.firstrow"> |
| <!-- --> |
| </a> |
| <ul class="navList" title="Navigation"> |
| <li><a href="../../../../../../overview-summary.html">Overview</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="navBarCell1Rev">Class</li> |
| <li><a href="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/gearpump/streaming/state/impl/WindowConfig.html" title="class in org.apache.gearpump.streaming.state.impl"><span class="typeNameLink">Prev Class</span></a></li> |
| <li>Next Class</li> |
| </ul> |
| <ul class="navList"> |
| <li><a href="../../../../../../index.html?org/apache/gearpump/streaming/state/impl/WindowState.html" target="_top">Frames</a></li> |
| <li><a href="WindowState.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>Nested | </li> |
| <li>Field | </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>Field | </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.gearpump.streaming.state.impl</div> |
| <h2 title="Class WindowState" class="title">Class WindowState<T></h2> |
| </div> |
| <div class="contentContainer"> |
| <ul class="inheritance"> |
| <li>java.lang.Object</li> |
| <li> |
| <ul class="inheritance"> |
| <li><a href="../../../../../../org/apache/gearpump/streaming/state/api/MonoidState.html" title="class in org.apache.gearpump.streaming.state.api">org.apache.gearpump.streaming.state.api.MonoidState</a><T></li> |
| <li> |
| <ul class="inheritance"> |
| <li>org.apache.gearpump.streaming.state.impl.WindowState<T></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| <div class="description"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <dl> |
| <dt>All Implemented Interfaces:</dt> |
| <dd><a href="../../../../../../org/apache/gearpump/streaming/state/api/PersistentState.html" title="interface in org.apache.gearpump.streaming.state.api">PersistentState</a><T></dd> |
| </dl> |
| <hr> |
| <br> |
| <pre>public class <span class="typeNameLabel">WindowState<T></span> |
| extends <a href="../../../../../../org/apache/gearpump/streaming/state/api/MonoidState.html" title="class in org.apache.gearpump.streaming.state.api">MonoidState</a><T></pre> |
| <div class="block">this is a list of states, each of which is bounded by a time window |
| state of each window doesn't affect each other |
| <p> |
| WindowState requires a Algebird Group to be passed in |
| Group augments Monoid with a minus function which makes it |
| possible to undo the update by messages that have left the window</div> |
| </li> |
| </ul> |
| </div> |
| <div class="summary"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- ======== 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"> </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/gearpump/streaming/state/impl/WindowState.html#WindowState-org.apache.gearpump.streaming.state.api.Group-org.apache.gearpump.streaming.state.api.Serializer-org.apache.gearpump.streaming.task.TaskContext-org.apache.gearpump.streaming.state.impl.Window-">WindowState</a></span>(<a href="../../../../../../org/apache/gearpump/streaming/state/api/Group.html" title="interface in org.apache.gearpump.streaming.state.api">Group</a><<a href="../../../../../../org/apache/gearpump/streaming/state/impl/WindowState.html" title="type parameter in WindowState">T</a>> group, |
| <a href="../../../../../../org/apache/gearpump/streaming/state/api/Serializer.html" title="interface in org.apache.gearpump.streaming.state.api">Serializer</a><scala.collection.immutable.TreeMap<<a href="../../../../../../org/apache/gearpump/streaming/state/impl/Interval.html" title="class in org.apache.gearpump.streaming.state.impl">Interval</a>,<a href="../../../../../../org/apache/gearpump/streaming/state/impl/WindowState.html" title="type parameter in WindowState">T</a>>> serializer, |
| <a href="../../../../../../org/apache/gearpump/streaming/task/TaskContext.html" title="interface in org.apache.gearpump.streaming.task">TaskContext</a> taskContext, |
| <a href="../../../../../../org/apache/gearpump/streaming/state/impl/Window.html" title="class in org.apache.gearpump.streaming.state.impl">Window</a> window)</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="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"> </span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </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>byte[]</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/gearpump/streaming/state/impl/WindowState.html#checkpoint--">checkpoint</a></span>()</code> |
| <div class="block">Gets a binary snapshot of state |
| usually invoked by the framework</div> |
| </td> |
| </tr> |
| <tr id="i1" class="rowColor"> |
| <td class="colFirst"><code><a href="../../../../../../org/apache/gearpump/streaming/state/impl/Interval.html" title="class in org.apache.gearpump.streaming.state.impl">Interval</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/gearpump/streaming/state/impl/WindowState.html#getInterval-long-long-">getInterval</a></span>(long timestamp, |
| long checkpointTime)</code> |
| <div class="block">Each message will update state in corresponding Interval[StartTime, endTime),</div> |
| </td> |
| </tr> |
| <tr id="i2" class="altColor"> |
| <td class="colFirst"><code>scala.collection.immutable.TreeMap<<a href="../../../../../../org/apache/gearpump/streaming/state/impl/Interval.html" title="class in org.apache.gearpump.streaming.state.impl">Interval</a>,<a href="../../../../../../org/apache/gearpump/streaming/state/impl/WindowState.html" title="type parameter in WindowState">T</a>></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/gearpump/streaming/state/impl/WindowState.html#getIntervalStates-long-long-">getIntervalStates</a></span>(long startTime, |
| long endTime)</code> </td> |
| </tr> |
| <tr id="i3" class="rowColor"> |
| <td class="colFirst"><code>static org.slf4j.Logger</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/gearpump/streaming/state/impl/WindowState.html#LOG--">LOG</a></span>()</code> </td> |
| </tr> |
| <tr id="i4" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/gearpump/streaming/state/impl/WindowState.html#recover-long-byte:A-">recover</a></span>(long timestamp, |
| byte[] bytes)</code> |
| <div class="block">Recovers state to a previous checkpoint |
| usually invoked by the framework</div> |
| </td> |
| </tr> |
| <tr id="i5" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/gearpump/streaming/state/impl/WindowState.html#update-long-T-">update</a></span>(long timestamp, |
| <a href="../../../../../../org/apache/gearpump/streaming/state/impl/WindowState.html" title="type parameter in WindowState">T</a> t)</code> |
| <div class="block">Updates state on a new message |
| this is invoked by user</div> |
| </td> |
| </tr> |
| <tr id="i6" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/gearpump/streaming/state/impl/WindowState.html#updateIntervalStates-long-T-long-">updateIntervalStates</a></span>(long timestamp, |
| <a href="../../../../../../org/apache/gearpump/streaming/state/impl/WindowState.html" title="type parameter in WindowState">T</a> t, |
| long checkpointTime)</code> </td> |
| </tr> |
| </table> |
| <ul class="blockList"> |
| <li class="blockList"><a name="methods.inherited.from.class.org.apache.gearpump.streaming.state.api.MonoidState"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from class org.apache.gearpump.streaming.state.api.<a href="../../../../../../org/apache/gearpump/streaming/state/api/MonoidState.html" title="class in org.apache.gearpump.streaming.state.api">MonoidState</a></h3> |
| <code><a href="../../../../../../org/apache/gearpump/streaming/state/api/MonoidState.html#checkpointTime--">checkpointTime</a>, <a href="../../../../../../org/apache/gearpump/streaming/state/api/MonoidState.html#get--">get</a>, <a href="../../../../../../org/apache/gearpump/streaming/state/api/MonoidState.html#left--">left</a>, <a href="../../../../../../org/apache/gearpump/streaming/state/api/MonoidState.html#right--">right</a>, <a href="../../../../../../org/apache/gearpump/streaming/state/api/MonoidState.html#setNextCheckpointTime-long-">setNextCheckpointTime</a>, <a href="../../../../../../org/apache/gearpump/streaming/state/api/MonoidState.html#updateState-long-T-">updateState</a></code></li> |
| </ul> |
| <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, toString, wait, wait, wait</code></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </div> |
| <div class="details"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- ========= CONSTRUCTOR DETAIL ======== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="constructor.detail"> |
| <!-- --> |
| </a> |
| <h3>Constructor Detail</h3> |
| <a name="WindowState-org.apache.gearpump.streaming.state.api.Group-org.apache.gearpump.streaming.state.api.Serializer-org.apache.gearpump.streaming.task.TaskContext-org.apache.gearpump.streaming.state.impl.Window-"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>WindowState</h4> |
| <pre>public WindowState(<a href="../../../../../../org/apache/gearpump/streaming/state/api/Group.html" title="interface in org.apache.gearpump.streaming.state.api">Group</a><<a href="../../../../../../org/apache/gearpump/streaming/state/impl/WindowState.html" title="type parameter in WindowState">T</a>> group, |
| <a href="../../../../../../org/apache/gearpump/streaming/state/api/Serializer.html" title="interface in org.apache.gearpump.streaming.state.api">Serializer</a><scala.collection.immutable.TreeMap<<a href="../../../../../../org/apache/gearpump/streaming/state/impl/Interval.html" title="class in org.apache.gearpump.streaming.state.impl">Interval</a>,<a href="../../../../../../org/apache/gearpump/streaming/state/impl/WindowState.html" title="type parameter in WindowState">T</a>>> serializer, |
| <a href="../../../../../../org/apache/gearpump/streaming/task/TaskContext.html" title="interface in org.apache.gearpump.streaming.task">TaskContext</a> taskContext, |
| <a href="../../../../../../org/apache/gearpump/streaming/state/impl/Window.html" title="class in org.apache.gearpump.streaming.state.impl">Window</a> window)</pre> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| <!-- ============ METHOD DETAIL ========== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="method.detail"> |
| <!-- --> |
| </a> |
| <h3>Method Detail</h3> |
| <a name="LOG--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>LOG</h4> |
| <pre>public static org.slf4j.Logger LOG()</pre> |
| </li> |
| </ul> |
| <a name="recover-long-byte:A-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>recover</h4> |
| <pre>public void recover(long timestamp, |
| byte[] bytes)</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../../org/apache/gearpump/streaming/state/api/PersistentState.html#recover-long-byte:A-">PersistentState</a></code></span></div> |
| <div class="block">Recovers state to a previous checkpoint |
| usually invoked by the framework</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>timestamp</code> - (undocumented)</dd> |
| <dd><code>bytes</code> - (undocumented)</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="update-long-java.lang.Object-"> |
| <!-- --> |
| </a><a name="update-long-T-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>update</h4> |
| <pre>public void update(long timestamp, |
| <a href="../../../../../../org/apache/gearpump/streaming/state/impl/WindowState.html" title="type parameter in WindowState">T</a> t)</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../../org/apache/gearpump/streaming/state/api/PersistentState.html#update-long-T-">PersistentState</a></code></span></div> |
| <div class="block">Updates state on a new message |
| this is invoked by user</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>timestamp</code> - (undocumented)</dd> |
| <dd><code>t</code> - (undocumented)</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="checkpoint--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>checkpoint</h4> |
| <pre>public byte[] checkpoint()</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../../org/apache/gearpump/streaming/state/api/PersistentState.html#checkpoint--">PersistentState</a></code></span></div> |
| <div class="block">Gets a binary snapshot of state |
| usually invoked by the framework</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>(undocumented)</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getInterval-long-long-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getInterval</h4> |
| <pre>public <a href="../../../../../../org/apache/gearpump/streaming/state/impl/Interval.html" title="class in org.apache.gearpump.streaming.state.impl">Interval</a> getInterval(long timestamp, |
| long checkpointTime)</pre> |
| <div class="block">Each message will update state in corresponding Interval[StartTime, endTime), |
| <p> |
| which is decided by the message's timestamp t where |
| <pre><code> |
| startTime = Math.max(lowerBound1, lowerBound2, checkpointTime) |
| endTime = Math.min(upperBound1, upperBound2, checkpointTime) |
| lowerBound1 = step * Nmax1 <= t |
| lowerBound2 = step * Nmax2 + size <= t |
| upperBound1 = step * Nmin1 > t |
| upperBound2 = step * Nmin2 + size > t |
| </code></pre></div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>timestamp</code> - (undocumented)</dd> |
| <dd><code>checkpointTime</code> - (undocumented)</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>(undocumented)</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="updateIntervalStates-long-java.lang.Object-long-"> |
| <!-- --> |
| </a><a name="updateIntervalStates-long-T-long-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>updateIntervalStates</h4> |
| <pre>public void updateIntervalStates(long timestamp, |
| <a href="../../../../../../org/apache/gearpump/streaming/state/impl/WindowState.html" title="type parameter in WindowState">T</a> t, |
| long checkpointTime)</pre> |
| </li> |
| </ul> |
| <a name="getIntervalStates-long-long-"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>getIntervalStates</h4> |
| <pre>public scala.collection.immutable.TreeMap<<a href="../../../../../../org/apache/gearpump/streaming/state/impl/Interval.html" title="class in org.apache.gearpump.streaming.state.impl">Interval</a>,<a href="../../../../../../org/apache/gearpump/streaming/state/impl/WindowState.html" title="type parameter in WindowState">T</a>> getIntervalStates(long startTime, |
| long endTime)</pre> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </div> |
| </div> |
| <!-- ========= END OF CLASS DATA ========= --> |
| <!-- ======= START OF BOTTOM NAVBAR ====== --> |
| <div class="bottomNav"><a name="navbar.bottom"> |
| <!-- --> |
| </a> |
| <div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div> |
| <a name="navbar.bottom.firstrow"> |
| <!-- --> |
| </a> |
| <ul class="navList" title="Navigation"> |
| <li><a href="../../../../../../overview-summary.html">Overview</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="navBarCell1Rev">Class</li> |
| <li><a href="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/gearpump/streaming/state/impl/WindowConfig.html" title="class in org.apache.gearpump.streaming.state.impl"><span class="typeNameLink">Prev Class</span></a></li> |
| <li>Next Class</li> |
| </ul> |
| <ul class="navList"> |
| <li><a href="../../../../../../index.html?org/apache/gearpump/streaming/state/impl/WindowState.html" target="_top">Frames</a></li> |
| <li><a href="WindowState.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>Nested | </li> |
| <li>Field | </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>Field | </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 ======= --> |
| </body> |
| </html> |