blob: 2fd009142ace1661951c1d0de496d0bc65043d8d [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.6.0_36) on Tue Nov 24 10:06:53 CST 2015 -->
<title>TaskWrapper</title>
<meta name="date" content="2015-11-24">
<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="TaskWrapper";
}
//-->
</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/task/TaskUtil$.html" title="class in io.gearpump.streaming.task"><span class="strong">PREV CLASS</span></a></li>
<li><a href="../../../../io/gearpump/streaming/task/UpdateClock.html" title="class in io.gearpump.streaming.task"><span class="strong">NEXT CLASS</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?io/gearpump/streaming/task/TaskWrapper.html" target="_top">FRAMES</a></li>
<li><a href="TaskWrapper.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>NESTED&nbsp;|&nbsp;</li>
<li>FIELD&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>FIELD&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">
<p class="subTitle">io.gearpump.streaming.task</p>
<h2 title="Class TaskWrapper" class="title">Class TaskWrapper</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>io.gearpump.streaming.task.TaskWrapper</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../io/gearpump/streaming/task/TaskContext.html" title="interface in io.gearpump.streaming.task">TaskContext</a>, <a href="../../../../io/gearpump/streaming/task/TaskInterface.html" title="interface in io.gearpump.streaming.task">TaskInterface</a></dd>
</dl>
<hr>
<br>
<pre>public class <strong>TaskWrapper</strong>
extends java.lang.Object
implements <a href="../../../../io/gearpump/streaming/task/TaskContext.html" title="interface in io.gearpump.streaming.task">TaskContext</a>, <a href="../../../../io/gearpump/streaming/task/TaskInterface.html" title="interface in io.gearpump.streaming.task">TaskInterface</a></pre>
<div class="block">This provides TaskContext for user defined tasks
param: taskClass task class
param: context context class
param: userConf user config</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="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="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../io/gearpump/streaming/task/TaskWrapper.html#TaskWrapper(io.gearpump.streaming.task.TaskId, java.lang.Class, io.gearpump.streaming.task.TaskContextData, io.gearpump.cluster.UserConfig)">TaskWrapper</a></strong>(<a href="../../../../io/gearpump/streaming/task/TaskId.html" title="class in io.gearpump.streaming.task">TaskId</a>&nbsp;taskId,
java.lang.Class&lt;? extends <a href="../../../../io/gearpump/streaming/task/Task.html" title="class in io.gearpump.streaming.task">Task</a>&gt;&nbsp;taskClass,
<a href="../../../../io/gearpump/streaming/task/TaskContextData.html" title="class in io.gearpump.streaming.task">TaskContextData</a>&nbsp;context,
io.gearpump.cluster.UserConfig&nbsp;userConf)</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>akka.actor.ActorRef</code></td>
<td class="colLast"><code><strong><a href="../../../../io/gearpump/streaming/task/TaskWrapper.html#actorOf(akka.actor.Props)">actorOf</a></strong>(akka.actor.Props&nbsp;props)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>akka.actor.ActorRef</code></td>
<td class="colLast"><code><strong><a href="../../../../io/gearpump/streaming/task/TaskWrapper.html#actorOf(akka.actor.Props, java.lang.String)">actorOf</a></strong>(akka.actor.Props&nbsp;props,
java.lang.String&nbsp;name)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../io/gearpump/streaming/task/TaskWrapper.html#appId()">appId</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>akka.actor.ActorRef</code></td>
<td class="colLast"><code><strong><a href="../../../../io/gearpump/streaming/task/TaskWrapper.html#appMaster()">appMaster</a></strong>()</code>
<div class="block">The actorRef of AppMaster</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../../io/gearpump/streaming/task/TaskWrapper.html#appName()">appName</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../io/gearpump/streaming/task/TaskWrapper.html#executorId()">executorId</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../io/gearpump/streaming/task/TaskWrapper.html#onNext(io.gearpump.Message)">onNext</a></strong>(io.gearpump.Message&nbsp;msg)</code>
<div class="block">Method called for each message received.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../io/gearpump/streaming/task/TaskWrapper.html#onStart(io.gearpump.streaming.task.StartTime)">onStart</a></strong>(<a href="../../../../io/gearpump/streaming/task/StartTime.html" title="class in io.gearpump.streaming.task">StartTime</a>&nbsp;startTime)</code>
<div class="block">Method called with the task is initialized.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../io/gearpump/streaming/task/TaskWrapper.html#onStop()">onStop</a></strong>()</code>
<div class="block">Method called when task is under clean up.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../io/gearpump/streaming/task/TaskWrapper.html#output(io.gearpump.Message)">output</a></strong>(io.gearpump.Message&nbsp;msg)</code>
<div class="block">This can be used to output messages to downstream tasks.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../io/gearpump/streaming/task/TaskWrapper.html#outputUnManaged(java.lang.Object, scala.collection.Seq)">outputUnManaged</a></strong>(java.lang.Object&nbsp;msg,
scala.collection.Seq&lt;<a href="../../../../io/gearpump/streaming/task/TaskId.html" title="class in io.gearpump.streaming.task">TaskId</a>&gt;&nbsp;tasks)</code>
<div class="block">Use with caution, output unmanaged message to target tasks</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../io/gearpump/streaming/task/TaskWrapper.html#parallelism()">parallelism</a></strong>()</code>
<div class="block">The task parallelism</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>scala.PartialFunction&lt;java.lang.Object,scala.runtime.BoxedUnit&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../io/gearpump/streaming/task/TaskWrapper.html#receiveUnManagedMessage()">receiveUnManagedMessage</a></strong>()</code>
<div class="block">handler for unmanaged message</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>akka.actor.Cancellable</code></td>
<td class="colLast"><code><strong><a href="../../../../io/gearpump/streaming/task/TaskWrapper.html#schedule(scala.concurrent.duration.FiniteDuration, scala.concurrent.duration.FiniteDuration, scala.Function0)">schedule</a></strong>(scala.concurrent.duration.FiniteDuration&nbsp;initialDelay,
scala.concurrent.duration.FiniteDuration&nbsp;interval,
scala.Function0&lt;scala.runtime.BoxedUnit&gt;&nbsp;f)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>akka.actor.Cancellable</code></td>
<td class="colLast"><code><strong><a href="../../../../io/gearpump/streaming/task/TaskWrapper.html#scheduleOnce(scala.concurrent.duration.FiniteDuration, scala.Function0)">scheduleOnce</a></strong>(scala.concurrent.duration.FiniteDuration&nbsp;initialDelay,
scala.Function0&lt;scala.runtime.BoxedUnit&gt;&nbsp;f)</code>
<div class="block">akka.actor.ActorRefProvider.scheduleOnce</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>akka.actor.ActorRef</code></td>
<td class="colLast"><code><strong><a href="../../../../io/gearpump/streaming/task/TaskWrapper.html#self()">self</a></strong>()</code>
<div class="block">Please don't use this if possible.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>akka.actor.ActorRef</code></td>
<td class="colLast"><code><strong><a href="../../../../io/gearpump/streaming/task/TaskWrapper.html#sender()">sender</a></strong>()</code>
<div class="block">For managed message(type of Message), the sender only serve as a unique Id,
It's address is not something meaningful, you should not use this directly</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../io/gearpump/streaming/task/TaskWrapper.html#setTaskActor(io.gearpump.streaming.task.TaskActor)">setTaskActor</a></strong>(<a href="../../../../io/gearpump/streaming/task/TaskActor.html" title="class in io.gearpump.streaming.task">TaskActor</a>&nbsp;actor)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>akka.actor.ActorSystem</code></td>
<td class="colLast"><code><strong><a href="../../../../io/gearpump/streaming/task/TaskWrapper.html#system()">system</a></strong>()</code>
<div class="block">Please don't use this if possible</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../io/gearpump/streaming/task/TaskId.html" title="class in io.gearpump.streaming.task">TaskId</a></code></td>
<td class="colLast"><code><strong><a href="../../../../io/gearpump/streaming/task/TaskWrapper.html#taskId()">taskId</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../io/gearpump/streaming/task/TaskWrapper.html#upstreamMinClock()">upstreamMinClock</a></strong>()</code>
<div class="block">retrieve upstream min clock from TaskActor</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.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="TaskWrapper(io.gearpump.streaming.task.TaskId, java.lang.Class, io.gearpump.streaming.task.TaskContextData, io.gearpump.cluster.UserConfig)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>TaskWrapper</h4>
<pre>public&nbsp;TaskWrapper(<a href="../../../../io/gearpump/streaming/task/TaskId.html" title="class in io.gearpump.streaming.task">TaskId</a>&nbsp;taskId,
java.lang.Class&lt;? extends <a href="../../../../io/gearpump/streaming/task/Task.html" title="class in io.gearpump.streaming.task">Task</a>&gt;&nbsp;taskClass,
<a href="../../../../io/gearpump/streaming/task/TaskContextData.html" title="class in io.gearpump.streaming.task">TaskContextData</a>&nbsp;context,
io.gearpump.cluster.UserConfig&nbsp;userConf)</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="taskId()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>taskId</h4>
<pre>public&nbsp;<a href="../../../../io/gearpump/streaming/task/TaskId.html" title="class in io.gearpump.streaming.task">TaskId</a>&nbsp;taskId()</pre>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../io/gearpump/streaming/task/TaskContext.html#taskId()">taskId</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../io/gearpump/streaming/task/TaskContext.html" title="interface in io.gearpump.streaming.task">TaskContext</a></code></dd>
</dl>
</li>
</ul>
<a name="setTaskActor(io.gearpump.streaming.task.TaskActor)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setTaskActor</h4>
<pre>public&nbsp;void&nbsp;setTaskActor(<a href="../../../../io/gearpump/streaming/task/TaskActor.html" title="class in io.gearpump.streaming.task">TaskActor</a>&nbsp;actor)</pre>
</li>
</ul>
<a name="appId()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>appId</h4>
<pre>public&nbsp;int&nbsp;appId()</pre>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../io/gearpump/streaming/task/TaskContext.html#appId()">appId</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../io/gearpump/streaming/task/TaskContext.html" title="interface in io.gearpump.streaming.task">TaskContext</a></code></dd>
</dl>
</li>
</ul>
<a name="appName()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>appName</h4>
<pre>public&nbsp;java.lang.String&nbsp;appName()</pre>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../io/gearpump/streaming/task/TaskContext.html#appName()">appName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../io/gearpump/streaming/task/TaskContext.html" title="interface in io.gearpump.streaming.task">TaskContext</a></code></dd>
</dl>
</li>
</ul>
<a name="executorId()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>executorId</h4>
<pre>public&nbsp;int&nbsp;executorId()</pre>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../io/gearpump/streaming/task/TaskContext.html#executorId()">executorId</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../io/gearpump/streaming/task/TaskContext.html" title="interface in io.gearpump.streaming.task">TaskContext</a></code></dd>
</dl>
</li>
</ul>
<a name="parallelism()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parallelism</h4>
<pre>public&nbsp;int&nbsp;parallelism()</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../io/gearpump/streaming/task/TaskContext.html#parallelism()">TaskContext</a></code></strong></div>
<div class="block">The task parallelism
<p>
For example, we can create 3 source tasks, and 3 sink tasks,
the task parallelism is 3 for each.
<p>
This can be useful when reading from partitioned data source.
For example, for kafka, there may be 10 partitions, if we have
parallelism of 2 for this task, then each task will be responsible
to read data from 5 partitions.
<p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../io/gearpump/streaming/task/TaskContext.html#parallelism()">parallelism</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../io/gearpump/streaming/task/TaskContext.html" title="interface in io.gearpump.streaming.task">TaskContext</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the parallelism level</dd></dl>
</li>
</ul>
<a name="appMaster()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>appMaster</h4>
<pre>public&nbsp;akka.actor.ActorRef&nbsp;appMaster()</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../io/gearpump/streaming/task/TaskContext.html#appMaster()">TaskContext</a></code></strong></div>
<div class="block">The actorRef of AppMaster</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../io/gearpump/streaming/task/TaskContext.html#appMaster()">appMaster</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../io/gearpump/streaming/task/TaskContext.html" title="interface in io.gearpump.streaming.task">TaskContext</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>application master's actor reference</dd></dl>
</li>
</ul>
<a name="output(io.gearpump.Message)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>output</h4>
<pre>public&nbsp;void&nbsp;output(io.gearpump.Message&nbsp;msg)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../io/gearpump/streaming/task/TaskContext.html#output(io.gearpump.Message)">TaskContext</a></code></strong></div>
<div class="block">This can be used to output messages to downstream tasks.
The data shuffling rule can be decided by Partitioner.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../io/gearpump/streaming/task/TaskContext.html#output(io.gearpump.Message)">output</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../io/gearpump/streaming/task/TaskContext.html" title="interface in io.gearpump.streaming.task">TaskContext</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>msg</code> - message to output</dd></dl>
</li>
</ul>
<a name="outputUnManaged(java.lang.Object, scala.collection.Seq)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>outputUnManaged</h4>
<pre>public&nbsp;void&nbsp;outputUnManaged(java.lang.Object&nbsp;msg,
scala.collection.Seq&lt;<a href="../../../../io/gearpump/streaming/task/TaskId.html" title="class in io.gearpump.streaming.task">TaskId</a>&gt;&nbsp;tasks)</pre>
<div class="block">Use with caution, output unmanaged message to target tasks</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>msg</code> - message to output</dd><dd><code>tasks</code> - the tasks to output to</dd></dl>
</li>
</ul>
<a name="self()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>self</h4>
<pre>public&nbsp;akka.actor.ActorRef&nbsp;self()</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../io/gearpump/streaming/task/TaskContext.html#self()">TaskContext</a></code></strong></div>
<div class="block">Please don't use this if possible.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../io/gearpump/streaming/task/TaskContext.html#self()">self</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../io/gearpump/streaming/task/TaskContext.html" title="interface in io.gearpump.streaming.task">TaskContext</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>self actor ref</dd></dl>
</li>
</ul>
<a name="sender()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sender</h4>
<pre>public&nbsp;akka.actor.ActorRef&nbsp;sender()</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../io/gearpump/streaming/task/TaskContext.html#sender()">TaskContext</a></code></strong></div>
<div class="block">For managed message(type of Message), the sender only serve as a unique Id,
It's address is not something meaningful, you should not use this directly
<p>
For unmanaged message, the sender represent the sender ActorRef</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../io/gearpump/streaming/task/TaskContext.html#sender()">sender</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../io/gearpump/streaming/task/TaskContext.html" title="interface in io.gearpump.streaming.task">TaskContext</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>sender</dd></dl>
</li>
</ul>
<a name="system()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>system</h4>
<pre>public&nbsp;akka.actor.ActorSystem&nbsp;system()</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../io/gearpump/streaming/task/TaskContext.html#system()">TaskContext</a></code></strong></div>
<div class="block">Please don't use this if possible</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../io/gearpump/streaming/task/TaskContext.html#system()">system</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../io/gearpump/streaming/task/TaskContext.html" title="interface in io.gearpump.streaming.task">TaskContext</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the actor system</dd></dl>
</li>
</ul>
<a name="actorOf(akka.actor.Props)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>actorOf</h4>
<pre>public&nbsp;akka.actor.ActorRef&nbsp;actorOf(akka.actor.Props&nbsp;props)</pre>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../io/gearpump/streaming/task/TaskContext.html#actorOf(akka.actor.Props)">actorOf</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../io/gearpump/streaming/task/TaskContext.html" title="interface in io.gearpump.streaming.task">TaskContext</a></code></dd>
</dl>
</li>
</ul>
<a name="actorOf(akka.actor.Props, java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>actorOf</h4>
<pre>public&nbsp;akka.actor.ActorRef&nbsp;actorOf(akka.actor.Props&nbsp;props,
java.lang.String&nbsp;name)</pre>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../io/gearpump/streaming/task/TaskContext.html#actorOf(akka.actor.Props, java.lang.String)">actorOf</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../io/gearpump/streaming/task/TaskContext.html" title="interface in io.gearpump.streaming.task">TaskContext</a></code></dd>
</dl>
</li>
</ul>
<a name="onStart(io.gearpump.streaming.task.StartTime)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onStart</h4>
<pre>public&nbsp;void&nbsp;onStart(<a href="../../../../io/gearpump/streaming/task/StartTime.html" title="class in io.gearpump.streaming.task">StartTime</a>&nbsp;startTime)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../io/gearpump/streaming/task/TaskInterface.html#onStart(io.gearpump.streaming.task.StartTime)">TaskInterface</a></code></strong></div>
<div class="block">Method called with the task is initialized.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../io/gearpump/streaming/task/TaskInterface.html#onStart(io.gearpump.streaming.task.StartTime)">onStart</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../io/gearpump/streaming/task/TaskInterface.html" title="interface in io.gearpump.streaming.task">TaskInterface</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>startTime</code> - startTime that can be used to decide from when a source producer task should replay the data source, or from when a processor task should recover its checkpoint data in to in-memory state.</dd></dl>
</li>
</ul>
<a name="onNext(io.gearpump.Message)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onNext</h4>
<pre>public&nbsp;void&nbsp;onNext(io.gearpump.Message&nbsp;msg)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../io/gearpump/streaming/task/TaskInterface.html#onNext(io.gearpump.Message)">TaskInterface</a></code></strong></div>
<div class="block">Method called for each message received.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../io/gearpump/streaming/task/TaskInterface.html#onNext(io.gearpump.Message)">onNext</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../io/gearpump/streaming/task/TaskInterface.html" title="interface in io.gearpump.streaming.task">TaskInterface</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>msg</code> - message send by upstream tasks</dd></dl>
</li>
</ul>
<a name="onStop()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onStop</h4>
<pre>public&nbsp;void&nbsp;onStop()</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../io/gearpump/streaming/task/TaskInterface.html#onStop()">TaskInterface</a></code></strong></div>
<div class="block">Method called when task is under clean up.
This can be used to cleanup resource when the application finished.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../io/gearpump/streaming/task/TaskInterface.html#onStop()">onStop</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../io/gearpump/streaming/task/TaskInterface.html" title="interface in io.gearpump.streaming.task">TaskInterface</a></code></dd>
</dl>
</li>
</ul>
<a name="receiveUnManagedMessage()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>receiveUnManagedMessage</h4>
<pre>public&nbsp;scala.PartialFunction&lt;java.lang.Object,scala.runtime.BoxedUnit&gt;&nbsp;receiveUnManagedMessage()</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../io/gearpump/streaming/task/TaskInterface.html#receiveUnManagedMessage()">TaskInterface</a></code></strong></div>
<div class="block">handler for unmanaged message</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../io/gearpump/streaming/task/TaskInterface.html#receiveUnManagedMessage()">receiveUnManagedMessage</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../io/gearpump/streaming/task/TaskInterface.html" title="interface in io.gearpump.streaming.task">TaskInterface</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the handler</dd></dl>
</li>
</ul>
<a name="upstreamMinClock()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>upstreamMinClock</h4>
<pre>public&nbsp;long&nbsp;upstreamMinClock()</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../io/gearpump/streaming/task/TaskContext.html#upstreamMinClock()">TaskContext</a></code></strong></div>
<div class="block">retrieve upstream min clock from TaskActor</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../io/gearpump/streaming/task/TaskContext.html#upstreamMinClock()">upstreamMinClock</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../io/gearpump/streaming/task/TaskContext.html" title="interface in io.gearpump.streaming.task">TaskContext</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the min clock</dd></dl>
</li>
</ul>
<a name="schedule(scala.concurrent.duration.FiniteDuration, scala.concurrent.duration.FiniteDuration, scala.Function0)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>schedule</h4>
<pre>public&nbsp;akka.actor.Cancellable&nbsp;schedule(scala.concurrent.duration.FiniteDuration&nbsp;initialDelay,
scala.concurrent.duration.FiniteDuration&nbsp;interval,
scala.Function0&lt;scala.runtime.BoxedUnit&gt;&nbsp;f)</pre>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../io/gearpump/streaming/task/TaskContext.html#schedule(scala.concurrent.duration.FiniteDuration, scala.concurrent.duration.FiniteDuration, scala.Function0)">schedule</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../io/gearpump/streaming/task/TaskContext.html" title="interface in io.gearpump.streaming.task">TaskContext</a></code></dd>
</dl>
</li>
</ul>
<a name="scheduleOnce(scala.concurrent.duration.FiniteDuration, scala.Function0)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>scheduleOnce</h4>
<pre>public&nbsp;akka.actor.Cancellable&nbsp;scheduleOnce(scala.concurrent.duration.FiniteDuration&nbsp;initialDelay,
scala.Function0&lt;scala.runtime.BoxedUnit&gt;&nbsp;f)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../io/gearpump/streaming/task/TaskContext.html#scheduleOnce(scala.concurrent.duration.FiniteDuration, scala.Function0)">TaskContext</a></code></strong></div>
<div class="block">akka.actor.ActorRefProvider.scheduleOnce</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../io/gearpump/streaming/task/TaskContext.html#scheduleOnce(scala.concurrent.duration.FiniteDuration, scala.Function0)">scheduleOnce</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../io/gearpump/streaming/task/TaskContext.html" title="interface in io.gearpump.streaming.task">TaskContext</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>initialDelay</code> - the initial delay</dd><dd><code>f</code> - the function to execute after initial delay</dd>
<dt><span class="strong">Returns:</span></dt><dd>the executable</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="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/task/TaskUtil$.html" title="class in io.gearpump.streaming.task"><span class="strong">PREV CLASS</span></a></li>
<li><a href="../../../../io/gearpump/streaming/task/UpdateClock.html" title="class in io.gearpump.streaming.task"><span class="strong">NEXT CLASS</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?io/gearpump/streaming/task/TaskWrapper.html" target="_top">FRAMES</a></li>
<li><a href="TaskWrapper.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>NESTED&nbsp;|&nbsp;</li>
<li>FIELD&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>FIELD&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 ======= -->
</body>
</html>