cassandra-server
Version:
A thin Javascript wrapper around Apache Cassandra to provide out of the box server support
326 lines (325 loc) • 15.6 kB
HTML
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (version 1.7.0_67) on Sun Sep 07 15:29:29 CEST 2014 -->
<title>IEndpointStateChangeSubscriber (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="IEndpointStateChangeSubscriber (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/IEndpointStateChangeSubscriber.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/gms/GossipShutdownVerbHandler.html" title="class in org.apache.cassandra.gms"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/apache/cassandra/gms/IFailureDetectionEventListener.html" title="interface in org.apache.cassandra.gms"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/cassandra/gms/IEndpointStateChangeSubscriber.html" target="_top">Frames</a></li>
<li><a href="IEndpointStateChangeSubscriber.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary: </li>
<li>Nested | </li>
<li>Field | </li>
<li>Constr | </li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail: </li>
<li>Field | </li>
<li>Constr | </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.gms</div>
<h2 title="Interface IEndpointStateChangeSubscriber" class="title">Interface IEndpointStateChangeSubscriber</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../org/apache/cassandra/service/LoadBroadcaster.html" title="class in org.apache.cassandra.service">LoadBroadcaster</a>, <a href="../../../../org/apache/cassandra/locator/ReconnectableSnitchHelper.html" title="class in org.apache.cassandra.locator">ReconnectableSnitchHelper</a>, <a href="../../../../org/apache/cassandra/repair/RepairSession.html" title="class in org.apache.cassandra.repair">RepairSession</a>, <a href="../../../../org/apache/cassandra/service/StorageService.html" title="class in org.apache.cassandra.service">StorageService</a>, <a href="../../../../org/apache/cassandra/streaming/StreamSession.html" title="class in org.apache.cassandra.streaming">StreamSession</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="strong">IEndpointStateChangeSubscriber</span></pre>
<div class="block">This is called by an instance of the IEndpointStateChangePublisher to notify
interested parties about changes in the the state associated with any endpoint.
For instance if node A figures there is a changes in state for an endpoint B
it notifies all interested parties of this change. It is upto to the registered
instance to decide what he does with this change. Not all modules maybe interested
in all state changes.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== 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>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cassandra/gms/IEndpointStateChangeSubscriber.html#beforeChange(java.net.InetAddress,%20org.apache.cassandra.gms.EndpointState,%20org.apache.cassandra.gms.ApplicationState,%20org.apache.cassandra.gms.VersionedValue)">beforeChange</a></strong>(java.net.InetAddress endpoint,
<a href="../../../../org/apache/cassandra/gms/EndpointState.html" title="class in org.apache.cassandra.gms">EndpointState</a> currentState,
<a href="../../../../org/apache/cassandra/gms/ApplicationState.html" title="enum in org.apache.cassandra.gms">ApplicationState</a> newStateKey,
<a href="../../../../org/apache/cassandra/gms/VersionedValue.html" title="class in org.apache.cassandra.gms">VersionedValue</a> newValue)</code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cassandra/gms/IEndpointStateChangeSubscriber.html#onAlive(java.net.InetAddress,%20org.apache.cassandra.gms.EndpointState)">onAlive</a></strong>(java.net.InetAddress endpoint,
<a href="../../../../org/apache/cassandra/gms/EndpointState.html" title="class in org.apache.cassandra.gms">EndpointState</a> state)</code> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cassandra/gms/IEndpointStateChangeSubscriber.html#onChange(java.net.InetAddress,%20org.apache.cassandra.gms.ApplicationState,%20org.apache.cassandra.gms.VersionedValue)">onChange</a></strong>(java.net.InetAddress endpoint,
<a href="../../../../org/apache/cassandra/gms/ApplicationState.html" title="enum in org.apache.cassandra.gms">ApplicationState</a> state,
<a href="../../../../org/apache/cassandra/gms/VersionedValue.html" title="class in org.apache.cassandra.gms">VersionedValue</a> value)</code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cassandra/gms/IEndpointStateChangeSubscriber.html#onDead(java.net.InetAddress,%20org.apache.cassandra.gms.EndpointState)">onDead</a></strong>(java.net.InetAddress endpoint,
<a href="../../../../org/apache/cassandra/gms/EndpointState.html" title="class in org.apache.cassandra.gms">EndpointState</a> state)</code> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cassandra/gms/IEndpointStateChangeSubscriber.html#onJoin(java.net.InetAddress,%20org.apache.cassandra.gms.EndpointState)">onJoin</a></strong>(java.net.InetAddress endpoint,
<a href="../../../../org/apache/cassandra/gms/EndpointState.html" title="class in org.apache.cassandra.gms">EndpointState</a> epState)</code>
<div class="block">Use to inform interested parties about the change in the state
for specified endpoint</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cassandra/gms/IEndpointStateChangeSubscriber.html#onRemove(java.net.InetAddress)">onRemove</a></strong>(java.net.InetAddress endpoint)</code> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cassandra/gms/IEndpointStateChangeSubscriber.html#onRestart(java.net.InetAddress,%20org.apache.cassandra.gms.EndpointState)">onRestart</a></strong>(java.net.InetAddress endpoint,
<a href="../../../../org/apache/cassandra/gms/EndpointState.html" title="class in org.apache.cassandra.gms">EndpointState</a> state)</code>
<div class="block">Called whenever a node is restarted.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="onJoin(java.net.InetAddress, org.apache.cassandra.gms.EndpointState)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onJoin</h4>
<pre>void onJoin(java.net.InetAddress endpoint,
<a href="../../../../org/apache/cassandra/gms/EndpointState.html" title="class in org.apache.cassandra.gms">EndpointState</a> epState)</pre>
<div class="block">Use to inform interested parties about the change in the state
for specified endpoint</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>endpoint</code> - endpoint for which the state change occurred.</dd><dd><code>epState</code> - state that actually changed for the above endpoint.</dd></dl>
</li>
</ul>
<a name="beforeChange(java.net.InetAddress, org.apache.cassandra.gms.EndpointState, org.apache.cassandra.gms.ApplicationState, org.apache.cassandra.gms.VersionedValue)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>beforeChange</h4>
<pre>void beforeChange(java.net.InetAddress endpoint,
<a href="../../../../org/apache/cassandra/gms/EndpointState.html" title="class in org.apache.cassandra.gms">EndpointState</a> currentState,
<a href="../../../../org/apache/cassandra/gms/ApplicationState.html" title="enum in org.apache.cassandra.gms">ApplicationState</a> newStateKey,
<a href="../../../../org/apache/cassandra/gms/VersionedValue.html" title="class in org.apache.cassandra.gms">VersionedValue</a> newValue)</pre>
</li>
</ul>
<a name="onChange(java.net.InetAddress, org.apache.cassandra.gms.ApplicationState, org.apache.cassandra.gms.VersionedValue)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onChange</h4>
<pre>void onChange(java.net.InetAddress endpoint,
<a href="../../../../org/apache/cassandra/gms/ApplicationState.html" title="enum in org.apache.cassandra.gms">ApplicationState</a> state,
<a href="../../../../org/apache/cassandra/gms/VersionedValue.html" title="class in org.apache.cassandra.gms">VersionedValue</a> value)</pre>
</li>
</ul>
<a name="onAlive(java.net.InetAddress, org.apache.cassandra.gms.EndpointState)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onAlive</h4>
<pre>void onAlive(java.net.InetAddress endpoint,
<a href="../../../../org/apache/cassandra/gms/EndpointState.html" title="class in org.apache.cassandra.gms">EndpointState</a> state)</pre>
</li>
</ul>
<a name="onDead(java.net.InetAddress, org.apache.cassandra.gms.EndpointState)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onDead</h4>
<pre>void onDead(java.net.InetAddress endpoint,
<a href="../../../../org/apache/cassandra/gms/EndpointState.html" title="class in org.apache.cassandra.gms">EndpointState</a> state)</pre>
</li>
</ul>
<a name="onRemove(java.net.InetAddress)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onRemove</h4>
<pre>void onRemove(java.net.InetAddress endpoint)</pre>
</li>
</ul>
<a name="onRestart(java.net.InetAddress, org.apache.cassandra.gms.EndpointState)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>onRestart</h4>
<pre>void onRestart(java.net.InetAddress endpoint,
<a href="../../../../org/apache/cassandra/gms/EndpointState.html" title="class in org.apache.cassandra.gms">EndpointState</a> state)</pre>
<div class="block">Called whenever a node is restarted.
Note that there is no guarantee when that happens that the node was
previously marked down. It will have only if <code>state.isAlive() == false</code>
as <code>state</code> is from before the restarted node is marked up.</div>
</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/IEndpointStateChangeSubscriber.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/gms/GossipShutdownVerbHandler.html" title="class in org.apache.cassandra.gms"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/apache/cassandra/gms/IFailureDetectionEventListener.html" title="interface in org.apache.cassandra.gms"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/cassandra/gms/IEndpointStateChangeSubscriber.html" target="_top">Frames</a></li>
<li><a href="IEndpointStateChangeSubscriber.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary: </li>
<li>Nested | </li>
<li>Field | </li>
<li>Constr | </li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail: </li>
<li>Field | </li>
<li>Constr | </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>