blob: e0193a3734dd457829e0d5de116165102a5d1b87 [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 (1.7.0_131) on Wed Mar 29 10:23:48 UTC 2017 -->
<title>MesosSchedulerDriver</title>
<meta name="date" content="2017-03-29">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="MesosSchedulerDriver";
}
}
catch(err) {
}
//-->
</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="../../../org/apache/mesos/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/mesos/MesosNativeLibrary.Version.html" title="class in org.apache.mesos"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../org/apache/mesos/Protos.html" title="class in org.apache.mesos"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/apache/mesos/MesosSchedulerDriver.html" target="_top">Frames</a></li>
<li><a href="MesosSchedulerDriver.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">
<div class="subTitle">org.apache.mesos</div>
<h2 title="Class MesosSchedulerDriver" class="title">Class MesosSchedulerDriver</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.mesos.MesosSchedulerDriver</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos">SchedulerDriver</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="strong">MesosSchedulerDriver</span>
extends java.lang.Object
implements <a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos">SchedulerDriver</a></pre>
<div class="block">Concrete implementation of a SchedulerDriver that connects a
Scheduler with a Mesos master. The MesosSchedulerDriver is
thread-safe.
<p>
Note that scheduler failover is supported in Mesos. After a
scheduler is registered with Mesos it may failover (to a new
process on the same machine or across multiple machines) by
creating a new driver with the ID given to it in <a href="../../../org/apache/mesos/Scheduler.html#registered(org.apache.mesos.SchedulerDriver,%20org.apache.mesos.Protos.FrameworkID,%20org.apache.mesos.Protos.MasterInfo)"><code>Scheduler.registered(org.apache.mesos.SchedulerDriver, org.apache.mesos.Protos.FrameworkID, org.apache.mesos.Protos.MasterInfo)</code></a>.
<p>
The driver is responsible for invoking the Scheduler callbacks as
it communicates with the Mesos master.
<p>
Note that blocking on the MesosSchedulerDriver (e.g., via <a href="../../../org/apache/mesos/MesosSchedulerDriver.html#join()"><code>join()</code></a>) doesn't affect the scheduler callbacks in anyway because
they are handled by a different thread.
<p>
<p>
Note that the driver uses GLOG to do its own logging. GLOG flags can
be set via environment variables, prefixing the flag name with
"GLOG_", e.g., "GLOG_v=1". For Mesos specific logging flags see
src/logging/flags.hpp. Mesos flags can also be set via environment
variables, prefixing the flag name with "MESOS_", e.g.,
"MESOS_QUIET=1".
<p>
See src/examples/java/TestFramework.java for an example of using
the MesosSchedulerDriver.</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="../../../org/apache/mesos/MesosSchedulerDriver.html#MesosSchedulerDriver(org.apache.mesos.Scheduler,%20org.apache.mesos.Protos.FrameworkInfo,%20java.lang.String)">MesosSchedulerDriver</a></strong>(<a href="../../../org/apache/mesos/Scheduler.html" title="interface in org.apache.mesos">Scheduler</a>&nbsp;scheduler,
<a href="../../../org/apache/mesos/Protos.FrameworkInfo.html" title="class in org.apache.mesos">Protos.FrameworkInfo</a>&nbsp;framework,
java.lang.String&nbsp;master)</code>
<div class="block">Creates a new driver for the specified scheduler.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../org/apache/mesos/MesosSchedulerDriver.html#MesosSchedulerDriver(org.apache.mesos.Scheduler,%20org.apache.mesos.Protos.FrameworkInfo,%20java.lang.String,%20boolean)">MesosSchedulerDriver</a></strong>(<a href="../../../org/apache/mesos/Scheduler.html" title="interface in org.apache.mesos">Scheduler</a>&nbsp;scheduler,
<a href="../../../org/apache/mesos/Protos.FrameworkInfo.html" title="class in org.apache.mesos">Protos.FrameworkInfo</a>&nbsp;framework,
java.lang.String&nbsp;master,
boolean&nbsp;implicitAcknowledgements)</code>
<div class="block">Same as the other constructors, except that it accepts the newly
introduced 'implicitAcknowledgements' parameter.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../org/apache/mesos/MesosSchedulerDriver.html#MesosSchedulerDriver(org.apache.mesos.Scheduler,%20org.apache.mesos.Protos.FrameworkInfo,%20java.lang.String,%20boolean,%20org.apache.mesos.Protos.Credential)">MesosSchedulerDriver</a></strong>(<a href="../../../org/apache/mesos/Scheduler.html" title="interface in org.apache.mesos">Scheduler</a>&nbsp;scheduler,
<a href="../../../org/apache/mesos/Protos.FrameworkInfo.html" title="class in org.apache.mesos">Protos.FrameworkInfo</a>&nbsp;framework,
java.lang.String&nbsp;master,
boolean&nbsp;implicitAcknowledgements,
<a href="../../../org/apache/mesos/Protos.Credential.html" title="class in org.apache.mesos">Protos.Credential</a>&nbsp;credential)</code>
<div class="block">Same as the other constructors, except that it accepts the newly
introduced 'implicitAcknowledgements' and 'credentials' parameters.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../org/apache/mesos/MesosSchedulerDriver.html#MesosSchedulerDriver(org.apache.mesos.Scheduler,%20org.apache.mesos.Protos.FrameworkInfo,%20java.lang.String,%20org.apache.mesos.Protos.Credential)">MesosSchedulerDriver</a></strong>(<a href="../../../org/apache/mesos/Scheduler.html" title="interface in org.apache.mesos">Scheduler</a>&nbsp;scheduler,
<a href="../../../org/apache/mesos/Protos.FrameworkInfo.html" title="class in org.apache.mesos">Protos.FrameworkInfo</a>&nbsp;framework,
java.lang.String&nbsp;master,
<a href="../../../org/apache/mesos/Protos.Credential.html" title="class in org.apache.mesos">Protos.Credential</a>&nbsp;credential)</code>
<div class="block">Same as the other constructors, except that it accepts the newly
introduced 'credential' parameter.</div>
</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><a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos">Protos.Status</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/MesosSchedulerDriver.html#abort()">abort</a></strong>()</code>
<div class="block">Aborts the driver so that no more callbacks can be made to the
scheduler.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos">Protos.Status</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/MesosSchedulerDriver.html#acceptOffers(java.util.Collection,%20java.util.Collection,%20org.apache.mesos.Protos.Filters)">acceptOffers</a></strong>(java.util.Collection&lt;<a href="../../../org/apache/mesos/Protos.OfferID.html" title="class in org.apache.mesos">Protos.OfferID</a>&gt;&nbsp;offerIds,
java.util.Collection&lt;<a href="../../../org/apache/mesos/Protos.Offer.Operation.html" title="class in org.apache.mesos">Protos.Offer.Operation</a>&gt;&nbsp;operations,
<a href="../../../org/apache/mesos/Protos.Filters.html" title="class in org.apache.mesos">Protos.Filters</a>&nbsp;filters)</code>
<div class="block">Accepts the given offers and performs a sequence of operations on
those accepted offers.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos">Protos.Status</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/MesosSchedulerDriver.html#acknowledgeStatusUpdate(org.apache.mesos.Protos.TaskStatus)">acknowledgeStatusUpdate</a></strong>(<a href="../../../org/apache/mesos/Protos.TaskStatus.html" title="class in org.apache.mesos">Protos.TaskStatus</a>&nbsp;status)</code>
<div class="block">Acknowledges the status update.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos">Protos.Status</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/MesosSchedulerDriver.html#declineOffer(org.apache.mesos.Protos.OfferID)">declineOffer</a></strong>(<a href="../../../org/apache/mesos/Protos.OfferID.html" title="class in org.apache.mesos">Protos.OfferID</a>&nbsp;offerId)</code>
<div class="block">Declines an offer in its entirety.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos">Protos.Status</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/MesosSchedulerDriver.html#declineOffer(org.apache.mesos.Protos.OfferID,%20org.apache.mesos.Protos.Filters)">declineOffer</a></strong>(<a href="../../../org/apache/mesos/Protos.OfferID.html" title="class in org.apache.mesos">Protos.OfferID</a>&nbsp;offerId,
<a href="../../../org/apache/mesos/Protos.Filters.html" title="class in org.apache.mesos">Protos.Filters</a>&nbsp;filters)</code>
<div class="block">Declines an offer in its entirety and applies the specified
filters on the resources (see mesos.proto for a description of
Filters).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/MesosSchedulerDriver.html#finalize()">finalize</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/MesosSchedulerDriver.html#initialize()">initialize</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos">Protos.Status</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/MesosSchedulerDriver.html#join()">join</a></strong>()</code>
<div class="block">Waits for the driver to be stopped or aborted, possibly
<i>blocking</i> the current thread indefinitely.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos">Protos.Status</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/MesosSchedulerDriver.html#killTask(org.apache.mesos.Protos.TaskID)">killTask</a></strong>(<a href="../../../org/apache/mesos/Protos.TaskID.html" title="class in org.apache.mesos">Protos.TaskID</a>&nbsp;taskId)</code>
<div class="block">Kills the specified task.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos">Protos.Status</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/MesosSchedulerDriver.html#launchTasks(java.util.Collection,%20java.util.Collection)">launchTasks</a></strong>(java.util.Collection&lt;<a href="../../../org/apache/mesos/Protos.OfferID.html" title="class in org.apache.mesos">Protos.OfferID</a>&gt;&nbsp;offerIds,
java.util.Collection&lt;<a href="../../../org/apache/mesos/Protos.TaskInfo.html" title="class in org.apache.mesos">Protos.TaskInfo</a>&gt;&nbsp;tasks)</code>
<div class="block">Launches the given set of tasks.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos">Protos.Status</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/MesosSchedulerDriver.html#launchTasks(java.util.Collection,%20java.util.Collection,%20org.apache.mesos.Protos.Filters)">launchTasks</a></strong>(java.util.Collection&lt;<a href="../../../org/apache/mesos/Protos.OfferID.html" title="class in org.apache.mesos">Protos.OfferID</a>&gt;&nbsp;offerIds,
java.util.Collection&lt;<a href="../../../org/apache/mesos/Protos.TaskInfo.html" title="class in org.apache.mesos">Protos.TaskInfo</a>&gt;&nbsp;tasks,
<a href="../../../org/apache/mesos/Protos.Filters.html" title="class in org.apache.mesos">Protos.Filters</a>&nbsp;filters)</code>
<div class="block">Launches the given set of tasks.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos">Protos.Status</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/MesosSchedulerDriver.html#launchTasks(org.apache.mesos.Protos.OfferID,%20java.util.Collection)">launchTasks</a></strong>(<a href="../../../org/apache/mesos/Protos.OfferID.html" title="class in org.apache.mesos">Protos.OfferID</a>&nbsp;offerId,
java.util.Collection&lt;<a href="../../../org/apache/mesos/Protos.TaskInfo.html" title="class in org.apache.mesos">Protos.TaskInfo</a>&gt;&nbsp;tasks)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos">Protos.Status</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/MesosSchedulerDriver.html#launchTasks(org.apache.mesos.Protos.OfferID,%20java.util.Collection,%20org.apache.mesos.Protos.Filters)">launchTasks</a></strong>(<a href="../../../org/apache/mesos/Protos.OfferID.html" title="class in org.apache.mesos">Protos.OfferID</a>&nbsp;offerId,
java.util.Collection&lt;<a href="../../../org/apache/mesos/Protos.TaskInfo.html" title="class in org.apache.mesos">Protos.TaskInfo</a>&gt;&nbsp;tasks,
<a href="../../../org/apache/mesos/Protos.Filters.html" title="class in org.apache.mesos">Protos.Filters</a>&nbsp;filters)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos">Protos.Status</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/MesosSchedulerDriver.html#reconcileTasks(java.util.Collection)">reconcileTasks</a></strong>(java.util.Collection&lt;<a href="../../../org/apache/mesos/Protos.TaskStatus.html" title="class in org.apache.mesos">Protos.TaskStatus</a>&gt;&nbsp;statuses)</code>
<div class="block">Allows the framework to query the status for non-terminal tasks.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos">Protos.Status</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/MesosSchedulerDriver.html#requestResources(java.util.Collection)">requestResources</a></strong>(java.util.Collection&lt;<a href="../../../org/apache/mesos/Protos.Request.html" title="class in org.apache.mesos">Protos.Request</a>&gt;&nbsp;requests)</code>
<div class="block">Requests resources from Mesos (see mesos.proto for a description
of Request and how, for example, to request resources
from specific slaves).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos">Protos.Status</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/MesosSchedulerDriver.html#reviveOffers()">reviveOffers</a></strong>()</code>
<div class="block">Removes all filters, previously set by the framework (via <a href="../../../org/apache/mesos/SchedulerDriver.html#launchTasks(java.util.Collection,%20java.util.Collection,%20org.apache.mesos.Protos.Filters)"><code>SchedulerDriver.launchTasks(java.util.Collection&lt;org.apache.mesos.Protos.OfferID&gt;, java.util.Collection&lt;org.apache.mesos.Protos.TaskInfo&gt;, org.apache.mesos.Protos.Filters)</code></a>).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos">Protos.Status</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/MesosSchedulerDriver.html#run()">run</a></strong>()</code>
<div class="block">Starts and immediately joins (i.e., blocks on) the driver.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos">Protos.Status</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/MesosSchedulerDriver.html#sendFrameworkMessage(org.apache.mesos.Protos.ExecutorID,%20org.apache.mesos.Protos.SlaveID,%20byte[])">sendFrameworkMessage</a></strong>(<a href="../../../org/apache/mesos/Protos.ExecutorID.html" title="class in org.apache.mesos">Protos.ExecutorID</a>&nbsp;executorId,
<a href="../../../org/apache/mesos/Protos.SlaveID.html" title="class in org.apache.mesos">Protos.SlaveID</a>&nbsp;slaveId,
byte[]&nbsp;data)</code>
<div class="block">Sends a message from the framework to one of its executors.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos">Protos.Status</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/MesosSchedulerDriver.html#start()">start</a></strong>()</code>
<div class="block">Starts the scheduler driver.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos">Protos.Status</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/MesosSchedulerDriver.html#stop()">stop</a></strong>()</code>
<div class="block">Stops the scheduler driver assuming no failover.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos">Protos.Status</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/MesosSchedulerDriver.html#stop(boolean)">stop</a></strong>(boolean&nbsp;failover)</code>
<div class="block">Stops the scheduler driver.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos">Protos.Status</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/MesosSchedulerDriver.html#suppressOffers()">suppressOffers</a></strong>()</code>
<div class="block">Inform Mesos master to stop sending offers to the framework.</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, 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="MesosSchedulerDriver(org.apache.mesos.Scheduler, org.apache.mesos.Protos.FrameworkInfo, java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MesosSchedulerDriver</h4>
<pre>public&nbsp;MesosSchedulerDriver(<a href="../../../org/apache/mesos/Scheduler.html" title="interface in org.apache.mesos">Scheduler</a>&nbsp;scheduler,
<a href="../../../org/apache/mesos/Protos.FrameworkInfo.html" title="class in org.apache.mesos">Protos.FrameworkInfo</a>&nbsp;framework,
java.lang.String&nbsp;master)</pre>
<div class="block">Creates a new driver for the specified scheduler. The master
should be one of:
<pre>
<code>host:port
zk://host1:port1,host2:port2,.../path
zk://username:password@host1:port1,host2:port2,.../path
file:///path/to/file (where file contains one of the above)
</code>
</pre>
<p>
The driver will attempt to "failover" if the specified
FrameworkInfo includes a valid FrameworkID.
<p>
Any Mesos configuration options are read from environment
variables, as well as any configuration files found through the
environment variables.
<p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>scheduler</code> - The scheduler implementation which callbacks are invoked
upon scheduler events.</dd><dd><code>framework</code> - The frameworkInfo describing the current framework.</dd><dd><code>master</code> - The address to the currently active Mesos master.</dd></dl>
</li>
</ul>
<a name="MesosSchedulerDriver(org.apache.mesos.Scheduler, org.apache.mesos.Protos.FrameworkInfo, java.lang.String, org.apache.mesos.Protos.Credential)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MesosSchedulerDriver</h4>
<pre>public&nbsp;MesosSchedulerDriver(<a href="../../../org/apache/mesos/Scheduler.html" title="interface in org.apache.mesos">Scheduler</a>&nbsp;scheduler,
<a href="../../../org/apache/mesos/Protos.FrameworkInfo.html" title="class in org.apache.mesos">Protos.FrameworkInfo</a>&nbsp;framework,
java.lang.String&nbsp;master,
<a href="../../../org/apache/mesos/Protos.Credential.html" title="class in org.apache.mesos">Protos.Credential</a>&nbsp;credential)</pre>
<div class="block">Same as the other constructors, except that it accepts the newly
introduced 'credential' parameter.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>scheduler</code> - The scheduler implementation which callbacks are invoked
upon scheduler events.</dd><dd><code>framework</code> - The frameworkInfo describing the current framework.</dd><dd><code>master</code> - The address to the currently active Mesos master.</dd><dd><code>credential</code> - The credentials that will be used used to authenticate
calls from this scheduler.</dd></dl>
</li>
</ul>
<a name="MesosSchedulerDriver(org.apache.mesos.Scheduler, org.apache.mesos.Protos.FrameworkInfo, java.lang.String, boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MesosSchedulerDriver</h4>
<pre>public&nbsp;MesosSchedulerDriver(<a href="../../../org/apache/mesos/Scheduler.html" title="interface in org.apache.mesos">Scheduler</a>&nbsp;scheduler,
<a href="../../../org/apache/mesos/Protos.FrameworkInfo.html" title="class in org.apache.mesos">Protos.FrameworkInfo</a>&nbsp;framework,
java.lang.String&nbsp;master,
boolean&nbsp;implicitAcknowledgements)</pre>
<div class="block">Same as the other constructors, except that it accepts the newly
introduced 'implicitAcknowledgements' parameter.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>scheduler</code> - The scheduler implementation which callbacks are invoked
upon scheduler events.</dd><dd><code>framework</code> - The frameworkInfo describing the current framework.</dd><dd><code>master</code> - The address to the currently active Mesos master.</dd><dd><code>implicitAcknowledgements</code> - Whether the driver should send
acknowledgements on behalf of the scheduler. Setting this to
false allows schedulers to perform their own acknowledgements,
which enables asynchronous / batch processing of status updates.</dd></dl>
</li>
</ul>
<a name="MesosSchedulerDriver(org.apache.mesos.Scheduler, org.apache.mesos.Protos.FrameworkInfo, java.lang.String, boolean, org.apache.mesos.Protos.Credential)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>MesosSchedulerDriver</h4>
<pre>public&nbsp;MesosSchedulerDriver(<a href="../../../org/apache/mesos/Scheduler.html" title="interface in org.apache.mesos">Scheduler</a>&nbsp;scheduler,
<a href="../../../org/apache/mesos/Protos.FrameworkInfo.html" title="class in org.apache.mesos">Protos.FrameworkInfo</a>&nbsp;framework,
java.lang.String&nbsp;master,
boolean&nbsp;implicitAcknowledgements,
<a href="../../../org/apache/mesos/Protos.Credential.html" title="class in org.apache.mesos">Protos.Credential</a>&nbsp;credential)</pre>
<div class="block">Same as the other constructors, except that it accepts the newly
introduced 'implicitAcknowledgements' and 'credentials' parameters.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>scheduler</code> - The scheduler implementation which callbacks are invoked
upon scheduler events.</dd><dd><code>framework</code> - The frameworkInfo describing the current framework.</dd><dd><code>master</code> - The address to the currently active Mesos master.</dd><dd><code>implicitAcknowledgements</code> - Whether the driver should send
acknowledgements on behalf of the scheduler. Setting this to
false allows schedulers to perform their own acknowledgements,
which enables asynchronous / batch processing of status updates.</dd><dd><code>credential</code> - The credentials that will be used used to authenticate
calls from this scheduler.</dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="start()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>start</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos">Protos.Status</a>&nbsp;start()</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../org/apache/mesos/SchedulerDriver.html#start()">SchedulerDriver</a></code></strong></div>
<div class="block">Starts the scheduler driver. This needs to be called before any
other driver calls are made.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../org/apache/mesos/SchedulerDriver.html#start()">start</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos">SchedulerDriver</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>The state of the driver after the call.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos"><code>Protos.Status</code></a></dd></dl>
</li>
</ul>
<a name="stop(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stop</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos">Protos.Status</a>&nbsp;stop(boolean&nbsp;failover)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../org/apache/mesos/SchedulerDriver.html#stop(boolean)">SchedulerDriver</a></code></strong></div>
<div class="block">Stops the scheduler driver. If the 'failover' flag is set to
false then it is expected that this framework will never
reconnect to Mesos. So Mesos will unregister the framework
and shutdown all its tasks and executors. If 'failover' is true,
all executors and tasks will remain running (for some framework
specific failover timeout) allowing the scheduler to reconnect
(possibly in the same process, or from a different process, for
example, on a different machine).</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../org/apache/mesos/SchedulerDriver.html#stop(boolean)">stop</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos">SchedulerDriver</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>failover</code> - Whether framework failover is expected.</dd>
<dt><span class="strong">Returns:</span></dt><dd>The state of the driver after the call.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos"><code>Protos.Status</code></a></dd></dl>
</li>
</ul>
<a name="stop()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stop</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos">Protos.Status</a>&nbsp;stop()</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../org/apache/mesos/SchedulerDriver.html#stop()">SchedulerDriver</a></code></strong></div>
<div class="block">Stops the scheduler driver assuming no failover. This will
cause Mesos to unregister the framework and shutdown all
its tasks and executors. Please see <a href="../../../org/apache/mesos/SchedulerDriver.html#stop(boolean)"><code>SchedulerDriver.stop(boolean)</code></a>
for more details.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../org/apache/mesos/SchedulerDriver.html#stop()">stop</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos">SchedulerDriver</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>The state of the driver after the call.</dd></dl>
</li>
</ul>
<a name="abort()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>abort</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos">Protos.Status</a>&nbsp;abort()</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../org/apache/mesos/SchedulerDriver.html#abort()">SchedulerDriver</a></code></strong></div>
<div class="block">Aborts the driver so that no more callbacks can be made to the
scheduler. The semantics of abort and stop have deliberately been
separated so that code can detect an aborted driver (i.e., via
the return status of <a href="../../../org/apache/mesos/SchedulerDriver.html#join()"><code>SchedulerDriver.join()</code></a>, see below), and instantiate
and start another driver if desired (from within the same
process).</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../org/apache/mesos/SchedulerDriver.html#abort()">abort</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos">SchedulerDriver</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>The state of the driver after the call.</dd></dl>
</li>
</ul>
<a name="join()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>join</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos">Protos.Status</a>&nbsp;join()</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../org/apache/mesos/SchedulerDriver.html#join()">SchedulerDriver</a></code></strong></div>
<div class="block">Waits for the driver to be stopped or aborted, possibly
<i>blocking</i> the current thread indefinitely. The return status of
this function can be used to determine if the driver was aborted
(see mesos.proto for a description of Status).</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../org/apache/mesos/SchedulerDriver.html#join()">join</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos">SchedulerDriver</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>The state of the driver after the call.</dd></dl>
</li>
</ul>
<a name="run()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>run</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos">Protos.Status</a>&nbsp;run()</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../org/apache/mesos/SchedulerDriver.html#run()">SchedulerDriver</a></code></strong></div>
<div class="block">Starts and immediately joins (i.e., blocks on) the driver.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../org/apache/mesos/SchedulerDriver.html#run()">run</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos">SchedulerDriver</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>The state of the driver after the call.</dd></dl>
</li>
</ul>
<a name="requestResources(java.util.Collection)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>requestResources</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos">Protos.Status</a>&nbsp;requestResources(java.util.Collection&lt;<a href="../../../org/apache/mesos/Protos.Request.html" title="class in org.apache.mesos">Protos.Request</a>&gt;&nbsp;requests)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../org/apache/mesos/SchedulerDriver.html#requestResources(java.util.Collection)">SchedulerDriver</a></code></strong></div>
<div class="block">Requests resources from Mesos (see mesos.proto for a description
of Request and how, for example, to request resources
from specific slaves). Any resources available are offered to the
framework via <a href="../../../org/apache/mesos/Scheduler.html#resourceOffers(org.apache.mesos.SchedulerDriver,%20java.util.List)"><code>Scheduler.resourceOffers(org.apache.mesos.SchedulerDriver, java.util.List&lt;org.apache.mesos.Protos.Offer&gt;)</code></a> callback,
asynchronously.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../org/apache/mesos/SchedulerDriver.html#requestResources(java.util.Collection)">requestResources</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos">SchedulerDriver</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>requests</code> - The resource requests.</dd>
<dt><span class="strong">Returns:</span></dt><dd>The state of the driver after the call.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../org/apache/mesos/Protos.Request.html" title="class in org.apache.mesos"><code>Protos.Request</code></a>,
<a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos"><code>Protos.Status</code></a></dd></dl>
</li>
</ul>
<a name="launchTasks(org.apache.mesos.Protos.OfferID, java.util.Collection)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>launchTasks</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos">Protos.Status</a>&nbsp;launchTasks(<a href="../../../org/apache/mesos/Protos.OfferID.html" title="class in org.apache.mesos">Protos.OfferID</a>&nbsp;offerId,
java.util.Collection&lt;<a href="../../../org/apache/mesos/Protos.TaskInfo.html" title="class in org.apache.mesos">Protos.TaskInfo</a>&gt;&nbsp;tasks)</pre>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../org/apache/mesos/SchedulerDriver.html#launchTasks(org.apache.mesos.Protos.OfferID,%20java.util.Collection)">launchTasks</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos">SchedulerDriver</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>offerId</code> - The offer ID.</dd><dd><code>tasks</code> - The collection of tasks to be launched.</dd>
<dt><span class="strong">Returns:</span></dt><dd>The state of the driver after the call.</dd></dl>
</li>
</ul>
<a name="launchTasks(org.apache.mesos.Protos.OfferID, java.util.Collection, org.apache.mesos.Protos.Filters)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>launchTasks</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos">Protos.Status</a>&nbsp;launchTasks(<a href="../../../org/apache/mesos/Protos.OfferID.html" title="class in org.apache.mesos">Protos.OfferID</a>&nbsp;offerId,
java.util.Collection&lt;<a href="../../../org/apache/mesos/Protos.TaskInfo.html" title="class in org.apache.mesos">Protos.TaskInfo</a>&gt;&nbsp;tasks,
<a href="../../../org/apache/mesos/Protos.Filters.html" title="class in org.apache.mesos">Protos.Filters</a>&nbsp;filters)</pre>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../org/apache/mesos/SchedulerDriver.html#launchTasks(org.apache.mesos.Protos.OfferID,%20java.util.Collection,%20org.apache.mesos.Protos.Filters)">launchTasks</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos">SchedulerDriver</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>offerId</code> - The offer ID.</dd><dd><code>tasks</code> - The collection of tasks to be launched.</dd><dd><code>filters</code> - The filters to set for any remaining resources.</dd>
<dt><span class="strong">Returns:</span></dt><dd>The state of the driver after the call.</dd></dl>
</li>
</ul>
<a name="launchTasks(java.util.Collection, java.util.Collection)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>launchTasks</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos">Protos.Status</a>&nbsp;launchTasks(java.util.Collection&lt;<a href="../../../org/apache/mesos/Protos.OfferID.html" title="class in org.apache.mesos">Protos.OfferID</a>&gt;&nbsp;offerIds,
java.util.Collection&lt;<a href="../../../org/apache/mesos/Protos.TaskInfo.html" title="class in org.apache.mesos">Protos.TaskInfo</a>&gt;&nbsp;tasks)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../org/apache/mesos/SchedulerDriver.html#launchTasks(java.util.Collection,%20java.util.Collection)">SchedulerDriver</a></code></strong></div>
<div class="block">Launches the given set of tasks. See above for details.
Note that this may add a default filter (see mesos.proto)
for the remaining resources. Notably the MesosSchedulerDriver
does so.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../org/apache/mesos/SchedulerDriver.html#launchTasks(java.util.Collection,%20java.util.Collection)">launchTasks</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos">SchedulerDriver</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>offerIds</code> - The collection of offer IDs.</dd><dd><code>tasks</code> - The collection of tasks to be launched.</dd>
<dt><span class="strong">Returns:</span></dt><dd>The state of the driver after the call.</dd></dl>
</li>
</ul>
<a name="launchTasks(java.util.Collection, java.util.Collection, org.apache.mesos.Protos.Filters)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>launchTasks</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos">Protos.Status</a>&nbsp;launchTasks(java.util.Collection&lt;<a href="../../../org/apache/mesos/Protos.OfferID.html" title="class in org.apache.mesos">Protos.OfferID</a>&gt;&nbsp;offerIds,
java.util.Collection&lt;<a href="../../../org/apache/mesos/Protos.TaskInfo.html" title="class in org.apache.mesos">Protos.TaskInfo</a>&gt;&nbsp;tasks,
<a href="../../../org/apache/mesos/Protos.Filters.html" title="class in org.apache.mesos">Protos.Filters</a>&nbsp;filters)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../org/apache/mesos/SchedulerDriver.html#launchTasks(java.util.Collection,%20java.util.Collection,%20org.apache.mesos.Protos.Filters)">SchedulerDriver</a></code></strong></div>
<div class="block">Launches the given set of tasks. Any remaining resources (i.e.,
those that are not used by the launched tasks or their executors)
will be considered declined. Note that this includes resources
used by tasks that the framework attempted to launch but failed
(with TASK_ERROR) due to a malformed task description. The
specified filters are applied on all unused resources (see
mesos.proto for a description of Filters). Available resources
are aggregated when multiple offers are provided. Note that all
offers must belong to the same slave. Invoking this function with
an empty collection of tasks declines offers in their entirety
(see <a href="../../../org/apache/mesos/SchedulerDriver.html#declineOffer(org.apache.mesos.Protos.OfferID,%20org.apache.mesos.Protos.Filters)"><code>SchedulerDriver.declineOffer(org.apache.mesos.Protos.OfferID, org.apache.mesos.Protos.Filters)</code></a>).</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../org/apache/mesos/SchedulerDriver.html#launchTasks(java.util.Collection,%20java.util.Collection,%20org.apache.mesos.Protos.Filters)">launchTasks</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos">SchedulerDriver</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>offerIds</code> - The collection of offer IDs.</dd><dd><code>tasks</code> - The collection of tasks to be launched.</dd><dd><code>filters</code> - The filters to set for any remaining resources.</dd>
<dt><span class="strong">Returns:</span></dt><dd>The state of the driver after the call.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../org/apache/mesos/Protos.OfferID.html" title="class in org.apache.mesos"><code>Protos.OfferID</code></a>,
<a href="../../../org/apache/mesos/Protos.TaskInfo.html" title="class in org.apache.mesos"><code>Protos.TaskInfo</code></a>,
<a href="../../../org/apache/mesos/Protos.Filters.html" title="class in org.apache.mesos"><code>Protos.Filters</code></a>,
<a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos"><code>Protos.Status</code></a></dd></dl>
</li>
</ul>
<a name="killTask(org.apache.mesos.Protos.TaskID)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>killTask</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos">Protos.Status</a>&nbsp;killTask(<a href="../../../org/apache/mesos/Protos.TaskID.html" title="class in org.apache.mesos">Protos.TaskID</a>&nbsp;taskId)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../org/apache/mesos/SchedulerDriver.html#killTask(org.apache.mesos.Protos.TaskID)">SchedulerDriver</a></code></strong></div>
<div class="block">Kills the specified task. Note that attempting to kill a task is
currently not reliable. If, for example, a scheduler fails over
while it was attempting to kill a task it will need to retry in
the future Likewise, if unregistered / disconnected, the request
will be dropped (these semantics may be changed in the future).</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../org/apache/mesos/SchedulerDriver.html#killTask(org.apache.mesos.Protos.TaskID)">killTask</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos">SchedulerDriver</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>taskId</code> - The ID of the task to be killed.</dd>
<dt><span class="strong">Returns:</span></dt><dd>The state of the driver after the call.</dd></dl>
</li>
</ul>
<a name="acceptOffers(java.util.Collection, java.util.Collection, org.apache.mesos.Protos.Filters)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>acceptOffers</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos">Protos.Status</a>&nbsp;acceptOffers(java.util.Collection&lt;<a href="../../../org/apache/mesos/Protos.OfferID.html" title="class in org.apache.mesos">Protos.OfferID</a>&gt;&nbsp;offerIds,
java.util.Collection&lt;<a href="../../../org/apache/mesos/Protos.Offer.Operation.html" title="class in org.apache.mesos">Protos.Offer.Operation</a>&gt;&nbsp;operations,
<a href="../../../org/apache/mesos/Protos.Filters.html" title="class in org.apache.mesos">Protos.Filters</a>&nbsp;filters)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../org/apache/mesos/SchedulerDriver.html#acceptOffers(java.util.Collection,%20java.util.Collection,%20org.apache.mesos.Protos.Filters)">SchedulerDriver</a></code></strong></div>
<div class="block">Accepts the given offers and performs a sequence of operations on
those accepted offers. See Offer.Operation in mesos.proto for the
set of available operations. Any remaining resources (i.e., those
that are not used by the launched tasks or their executors) will
be considered declined. Note that this includes resources used by
tasks that the framework attempted to launch but failed (with
TASK_ERROR) due to a malformed task description. The specified
filters are applied on all unused resources (see mesos.proto for
a description of Filters). Available resources are aggregated
when multiple offers are provided. Note that all offers must
belong to the same slave.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../org/apache/mesos/SchedulerDriver.html#acceptOffers(java.util.Collection,%20java.util.Collection,%20org.apache.mesos.Protos.Filters)">acceptOffers</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos">SchedulerDriver</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>offerIds</code> - The collection of offer IDs.</dd><dd><code>operations</code> - The collection of offer operations to perform.</dd><dd><code>filters</code> - The filters to set for any remaining resources.</dd>
<dt><span class="strong">Returns:</span></dt><dd>The state of the driver after the call.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../org/apache/mesos/Protos.OfferID.html" title="class in org.apache.mesos"><code>Protos.OfferID</code></a>,
<code>Offer.Operation</code>,
<a href="../../../org/apache/mesos/Protos.Filters.html" title="class in org.apache.mesos"><code>Protos.Filters</code></a>,
<a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos"><code>Protos.Status</code></a></dd></dl>
</li>
</ul>
<a name="declineOffer(org.apache.mesos.Protos.OfferID)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>declineOffer</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos">Protos.Status</a>&nbsp;declineOffer(<a href="../../../org/apache/mesos/Protos.OfferID.html" title="class in org.apache.mesos">Protos.OfferID</a>&nbsp;offerId)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../org/apache/mesos/SchedulerDriver.html#declineOffer(org.apache.mesos.Protos.OfferID)">SchedulerDriver</a></code></strong></div>
<div class="block">Declines an offer in its entirety. See above for details.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../org/apache/mesos/SchedulerDriver.html#declineOffer(org.apache.mesos.Protos.OfferID)">declineOffer</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos">SchedulerDriver</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>offerId</code> - The ID of the offer to be declined.</dd>
<dt><span class="strong">Returns:</span></dt><dd>The state of the driver after the call.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../org/apache/mesos/Protos.OfferID.html" title="class in org.apache.mesos"><code>Protos.OfferID</code></a>,
<a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos"><code>Protos.Status</code></a></dd></dl>
</li>
</ul>
<a name="declineOffer(org.apache.mesos.Protos.OfferID, org.apache.mesos.Protos.Filters)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>declineOffer</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos">Protos.Status</a>&nbsp;declineOffer(<a href="../../../org/apache/mesos/Protos.OfferID.html" title="class in org.apache.mesos">Protos.OfferID</a>&nbsp;offerId,
<a href="../../../org/apache/mesos/Protos.Filters.html" title="class in org.apache.mesos">Protos.Filters</a>&nbsp;filters)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../org/apache/mesos/SchedulerDriver.html#declineOffer(org.apache.mesos.Protos.OfferID,%20org.apache.mesos.Protos.Filters)">SchedulerDriver</a></code></strong></div>
<div class="block">Declines an offer in its entirety and applies the specified
filters on the resources (see mesos.proto for a description of
Filters). Note that this can be done at any time, it is not
necessary to do this within the <a href="../../../org/apache/mesos/Scheduler.html#resourceOffers(org.apache.mesos.SchedulerDriver,%20java.util.List)"><code>Scheduler.resourceOffers(org.apache.mesos.SchedulerDriver, java.util.List&lt;org.apache.mesos.Protos.Offer&gt;)</code></a>
callback.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../org/apache/mesos/SchedulerDriver.html#declineOffer(org.apache.mesos.Protos.OfferID,%20org.apache.mesos.Protos.Filters)">declineOffer</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos">SchedulerDriver</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>offerId</code> - The ID of the offer to be declined.</dd><dd><code>filters</code> - The filters to set for any remaining resources.</dd>
<dt><span class="strong">Returns:</span></dt><dd>The state of the driver after the call.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../org/apache/mesos/Protos.OfferID.html" title="class in org.apache.mesos"><code>Protos.OfferID</code></a>,
<a href="../../../org/apache/mesos/Protos.Filters.html" title="class in org.apache.mesos"><code>Protos.Filters</code></a>,
<a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos"><code>Protos.Status</code></a></dd></dl>
</li>
</ul>
<a name="reviveOffers()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reviveOffers</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos">Protos.Status</a>&nbsp;reviveOffers()</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../org/apache/mesos/SchedulerDriver.html#reviveOffers()">SchedulerDriver</a></code></strong></div>
<div class="block">Removes all filters, previously set by the framework (via <a href="../../../org/apache/mesos/SchedulerDriver.html#launchTasks(java.util.Collection,%20java.util.Collection,%20org.apache.mesos.Protos.Filters)"><code>SchedulerDriver.launchTasks(java.util.Collection&lt;org.apache.mesos.Protos.OfferID&gt;, java.util.Collection&lt;org.apache.mesos.Protos.TaskInfo&gt;, org.apache.mesos.Protos.Filters)</code></a>). This enables the framework to receive offers
from those filtered slaves.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../org/apache/mesos/SchedulerDriver.html#reviveOffers()">reviveOffers</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos">SchedulerDriver</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>The state of the driver after the call.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos"><code>Protos.Status</code></a></dd></dl>
</li>
</ul>
<a name="suppressOffers()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>suppressOffers</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos">Protos.Status</a>&nbsp;suppressOffers()</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../org/apache/mesos/SchedulerDriver.html#suppressOffers()">SchedulerDriver</a></code></strong></div>
<div class="block">Inform Mesos master to stop sending offers to the framework. The
scheduler should call reviveOffers() to resume getting offers.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../org/apache/mesos/SchedulerDriver.html#suppressOffers()">suppressOffers</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos">SchedulerDriver</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>The state of the driver after the call.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos"><code>Protos.Status</code></a></dd></dl>
</li>
</ul>
<a name="acknowledgeStatusUpdate(org.apache.mesos.Protos.TaskStatus)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>acknowledgeStatusUpdate</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos">Protos.Status</a>&nbsp;acknowledgeStatusUpdate(<a href="../../../org/apache/mesos/Protos.TaskStatus.html" title="class in org.apache.mesos">Protos.TaskStatus</a>&nbsp;status)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../org/apache/mesos/SchedulerDriver.html#acknowledgeStatusUpdate(org.apache.mesos.Protos.TaskStatus)">SchedulerDriver</a></code></strong></div>
<div class="block">Acknowledges the status update. This should only be called
once the status update is processed durably by the scheduler.
Not that explicit acknowledgements must be requested via the
constructor argument, otherwise a call to this method will
cause the driver to crash.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../org/apache/mesos/SchedulerDriver.html#acknowledgeStatusUpdate(org.apache.mesos.Protos.TaskStatus)">acknowledgeStatusUpdate</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos">SchedulerDriver</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>status</code> - The status to acknowledge.</dd>
<dt><span class="strong">Returns:</span></dt><dd>The state of the driver after the call.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../org/apache/mesos/Protos.TaskStatus.html" title="class in org.apache.mesos"><code>Protos.TaskStatus</code></a></dd></dl>
</li>
</ul>
<a name="sendFrameworkMessage(org.apache.mesos.Protos.ExecutorID, org.apache.mesos.Protos.SlaveID, byte[])">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sendFrameworkMessage</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos">Protos.Status</a>&nbsp;sendFrameworkMessage(<a href="../../../org/apache/mesos/Protos.ExecutorID.html" title="class in org.apache.mesos">Protos.ExecutorID</a>&nbsp;executorId,
<a href="../../../org/apache/mesos/Protos.SlaveID.html" title="class in org.apache.mesos">Protos.SlaveID</a>&nbsp;slaveId,
byte[]&nbsp;data)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../org/apache/mesos/SchedulerDriver.html#sendFrameworkMessage(org.apache.mesos.Protos.ExecutorID,%20org.apache.mesos.Protos.SlaveID,%20byte[])">SchedulerDriver</a></code></strong></div>
<div class="block">Sends a message from the framework to one of its executors. These
messages are best effort; do not expect a framework message to be
retransmitted in any reliable fashion.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../org/apache/mesos/SchedulerDriver.html#sendFrameworkMessage(org.apache.mesos.Protos.ExecutorID,%20org.apache.mesos.Protos.SlaveID,%20byte[])">sendFrameworkMessage</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos">SchedulerDriver</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>executorId</code> - The ID of the executor to send the message to.</dd><dd><code>slaveId</code> - The ID of the slave that is running the executor.</dd><dd><code>data</code> - The message.</dd>
<dt><span class="strong">Returns:</span></dt><dd>The state of the driver after the call.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../org/apache/mesos/Protos.ExecutorID.html" title="class in org.apache.mesos"><code>Protos.ExecutorID</code></a>,
<a href="../../../org/apache/mesos/Protos.SlaveID.html" title="class in org.apache.mesos"><code>Protos.SlaveID</code></a></dd></dl>
</li>
</ul>
<a name="reconcileTasks(java.util.Collection)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reconcileTasks</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos">Protos.Status</a>&nbsp;reconcileTasks(java.util.Collection&lt;<a href="../../../org/apache/mesos/Protos.TaskStatus.html" title="class in org.apache.mesos">Protos.TaskStatus</a>&gt;&nbsp;statuses)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../org/apache/mesos/SchedulerDriver.html#reconcileTasks(java.util.Collection)">SchedulerDriver</a></code></strong></div>
<div class="block">Allows the framework to query the status for non-terminal tasks.
This causes the master to send back the latest task status for
each task in 'statuses', if possible. Tasks that are no longer
known will result in a TASK_LOST update. If statuses is empty,
then the master will send the latest status for each task
currently known.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../org/apache/mesos/SchedulerDriver.html#reconcileTasks(java.util.Collection)">reconcileTasks</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos">SchedulerDriver</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>statuses</code> - The collection of non-terminal TaskStatuses to reconcile.</dd>
<dt><span class="strong">Returns:</span></dt><dd>The state of the driver after the call.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../org/apache/mesos/Protos.TaskStatus.html" title="class in org.apache.mesos"><code>Protos.TaskStatus</code></a>,
<a href="../../../org/apache/mesos/Protos.SlaveID.html" title="class in org.apache.mesos"><code>Protos.SlaveID</code></a></dd></dl>
</li>
</ul>
<a name="initialize()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initialize</h4>
<pre>protected&nbsp;void&nbsp;initialize()</pre>
</li>
</ul>
<a name="finalize()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>finalize</h4>
<pre>protected&nbsp;void&nbsp;finalize()</pre>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code>finalize</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="../../../org/apache/mesos/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/mesos/MesosNativeLibrary.Version.html" title="class in org.apache.mesos"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../org/apache/mesos/Protos.html" title="class in org.apache.mesos"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/apache/mesos/MesosSchedulerDriver.html" target="_top">Frames</a></li>
<li><a href="MesosSchedulerDriver.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>