cassandra-server
Version:
A thin Javascript wrapper around Apache Cassandra to provide out of the box server support
353 lines (350 loc) • 14.7 kB
HTML
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (version 1.7.0_67) on Sun Sep 07 15:29:35 CEST 2014 -->
<title>ProposeCallback (apache-cassandra API)</title>
<meta name="date" content="2014-09-07">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="ProposeCallback (apache-cassandra API)";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ProposeCallback.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/cassandra/service/paxos/PrepareVerbHandler.html" title="class in org.apache.cassandra.service.paxos"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../org/apache/cassandra/service/paxos/ProposeVerbHandler.html" title="class in org.apache.cassandra.service.paxos"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/cassandra/service/paxos/ProposeCallback.html" target="_top">Frames</a></li>
<li><a href="ProposeCallback.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary: </li>
<li>Nested | </li>
<li><a href="#fields_inherited_from_class_org.apache.cassandra.service.paxos.AbstractPaxosCallback">Field</a> | </li>
<li><a href="#constructor_summary">Constr</a> | </li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail: </li>
<li>Field | </li>
<li><a href="#constructor_detail">Constr</a> | </li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.cassandra.service.paxos</div>
<h2 title="Class ProposeCallback" class="title">Class ProposeCallback</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/cassandra/service/paxos/AbstractPaxosCallback.html" title="class in org.apache.cassandra.service.paxos">org.apache.cassandra.service.paxos.AbstractPaxosCallback</a><java.lang.Boolean></li>
<li>
<ul class="inheritance">
<li>org.apache.cassandra.service.paxos.ProposeCallback</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../org/apache/cassandra/net/IAsyncCallback.html" title="interface in org.apache.cassandra.net">IAsyncCallback</a><java.lang.Boolean></dd>
</dl>
<hr>
<br>
<pre>public class <span class="strong">ProposeCallback</span>
extends <a href="../../../../../org/apache/cassandra/service/paxos/AbstractPaxosCallback.html" title="class in org.apache.cassandra.service.paxos">AbstractPaxosCallback</a><java.lang.Boolean></pre>
<div class="block">ProposeCallback has two modes of operation, controlled by the failFast parameter.
In failFast mode, we will return a failure as soon as a majority of nodes reject
the proposal. This is used when replaying a proposal from an earlier leader.
Otherwise, we wait for either all replicas to reply or until we achieve
the desired quorum. We continue to wait for all replicas even after we know we cannot succeed
because we need to know if no node at all have accepted or if at least one has.
In the former case, a proposer is guaranteed no-one will
replay its value; in the latter we don't, so we must timeout in case another
leader replays it before we can; see CASSANDRA-6013</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="fields_inherited_from_class_org.apache.cassandra.service.paxos.AbstractPaxosCallback">
<!-- -->
</a>
<h3>Fields inherited from class org.apache.cassandra.service.paxos.<a href="../../../../../org/apache/cassandra/service/paxos/AbstractPaxosCallback.html" title="class in org.apache.cassandra.service.paxos">AbstractPaxosCallback</a></h3>
<code><a href="../../../../../org/apache/cassandra/service/paxos/AbstractPaxosCallback.html#latch">latch</a>, <a href="../../../../../org/apache/cassandra/service/paxos/AbstractPaxosCallback.html#targets">targets</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields_inherited_from_class_org.apache.cassandra.net.IAsyncCallback">
<!-- -->
</a>
<h3>Fields inherited from interface org.apache.cassandra.net.<a href="../../../../../org/apache/cassandra/net/IAsyncCallback.html" title="interface in org.apache.cassandra.net">IAsyncCallback</a></h3>
<code><a href="../../../../../org/apache/cassandra/net/IAsyncCallback.html#isAlive">isAlive</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd"> </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/cassandra/service/paxos/ProposeCallback.html#ProposeCallback(int,%20int,%20boolean,%20org.apache.cassandra.db.ConsistencyLevel)">ProposeCallback</a></strong>(int totalTargets,
int requiredTargets,
boolean failFast,
<a href="../../../../../org/apache/cassandra/db/ConsistencyLevel.html" title="enum in org.apache.cassandra.db">ConsistencyLevel</a> consistency)</code> </td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd"> </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>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/service/paxos/ProposeCallback.html#getAcceptCount()">getAcceptCount</a></strong>()</code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/service/paxos/ProposeCallback.html#isFullyRefused()">isFullyRefused</a></strong>()</code> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/service/paxos/ProposeCallback.html#isSuccessful()">isSuccessful</a></strong>()</code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/service/paxos/ProposeCallback.html#response(org.apache.cassandra.net.MessageIn)">response</a></strong>(<a href="../../../../../org/apache/cassandra/net/MessageIn.html" title="class in org.apache.cassandra.net">MessageIn</a><java.lang.Boolean> msg)</code> </td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.cassandra.service.paxos.AbstractPaxosCallback">
<!-- -->
</a>
<h3>Methods inherited from class org.apache.cassandra.service.paxos.<a href="../../../../../org/apache/cassandra/service/paxos/AbstractPaxosCallback.html" title="class in org.apache.cassandra.service.paxos">AbstractPaxosCallback</a></h3>
<code><a href="../../../../../org/apache/cassandra/service/paxos/AbstractPaxosCallback.html#await()">await</a>, <a href="../../../../../org/apache/cassandra/service/paxos/AbstractPaxosCallback.html#getResponseCount()">getResponseCount</a>, <a href="../../../../../org/apache/cassandra/service/paxos/AbstractPaxosCallback.html#isLatencyForSnitch()">isLatencyForSnitch</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="ProposeCallback(int, int, boolean, org.apache.cassandra.db.ConsistencyLevel)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ProposeCallback</h4>
<pre>public ProposeCallback(int totalTargets,
int requiredTargets,
boolean failFast,
<a href="../../../../../org/apache/cassandra/db/ConsistencyLevel.html" title="enum in org.apache.cassandra.db">ConsistencyLevel</a> consistency)</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="response(org.apache.cassandra.net.MessageIn)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>response</h4>
<pre>public void response(<a href="../../../../../org/apache/cassandra/net/MessageIn.html" title="class in org.apache.cassandra.net">MessageIn</a><java.lang.Boolean> msg)</pre>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>msg</code> - response received.</dd></dl>
</li>
</ul>
<a name="getAcceptCount()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAcceptCount</h4>
<pre>public int getAcceptCount()</pre>
</li>
</ul>
<a name="isSuccessful()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSuccessful</h4>
<pre>public boolean isSuccessful()</pre>
</li>
</ul>
<a name="isFullyRefused()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>isFullyRefused</h4>
<pre>public boolean isFullyRefused()</pre>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!-- -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ProposeCallback.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/cassandra/service/paxos/PrepareVerbHandler.html" title="class in org.apache.cassandra.service.paxos"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../org/apache/cassandra/service/paxos/ProposeVerbHandler.html" title="class in org.apache.cassandra.service.paxos"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/cassandra/service/paxos/ProposeCallback.html" target="_top">Frames</a></li>
<li><a href="ProposeCallback.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary: </li>
<li>Nested | </li>
<li><a href="#fields_inherited_from_class_org.apache.cassandra.service.paxos.AbstractPaxosCallback">Field</a> | </li>
<li><a href="#constructor_summary">Constr</a> | </li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail: </li>
<li>Field | </li>
<li><a href="#constructor_detail">Constr</a> | </li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright © 2014 The Apache Software Foundation</small></p>
</body>
</html>