<!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 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Uses of Package org.apache.hadoop.hbase.replication.regionserver (Apache HBase 3.0.0-SNAPSHOT API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="Uses of Package org.apache.hadoop.hbase.replication.regionserver (Apache HBase 3.0.0-SNAPSHOT API)";
        }
    }
    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>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li>Class</li>
<li class="navBarCell1Rev">Use</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>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/replication/regionserver/package-use.html" target="_top">Frames</a></li>
<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;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>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h1 title="Uses of Package org.apache.hadoop.hbase.replication.regionserver" class="title">Uses of Package<br>org.apache.hadoop.hbase.replication.regionserver</h1>
</div>
<div class="contentContainer">
<ul class="blockList">
<li class="blockList">
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
<caption><span>Packages that use <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/package-summary.html">org.apache.hadoop.hbase.replication.regionserver</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Package</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="#org.apache.hadoop.hbase.master">org.apache.hadoop.hbase.master</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="#org.apache.hadoop.hbase.regionserver">org.apache.hadoop.hbase.regionserver</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="#org.apache.hadoop.hbase.regionserver.wal">org.apache.hadoop.hbase.regionserver.wal</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="#org.apache.hadoop.hbase.replication">org.apache.hadoop.hbase.replication</a></td>
<td class="colLast">
<div class="block">Multi Cluster Replication</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="#org.apache.hadoop.hbase.replication.regionserver">org.apache.hadoop.hbase.replication.regionserver</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="#org.apache.hadoop.hbase.wal">org.apache.hadoop.hbase.wal</a></td>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList"><a name="org.apache.hadoop.hbase.master">
<!--   -->
</a>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
<caption><span>Classes in <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/package-summary.html">org.apache.hadoop.hbase.replication.regionserver</a> used by <a href="../../../../../../org/apache/hadoop/hbase/master/package-summary.html">org.apache.hadoop.hbase.master</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Class and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/ReplicationStatus.html#org.apache.hadoop.hbase.master">ReplicationStatus</a>&nbsp;</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList"><a name="org.apache.hadoop.hbase.regionserver">
<!--   -->
</a>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
<caption><span>Classes in <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/package-summary.html">org.apache.hadoop.hbase.replication.regionserver</a> used by <a href="../../../../../../org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Class and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/PeerProcedureHandler.html#org.apache.hadoop.hbase.regionserver">PeerProcedureHandler</a>
<div class="block">A handler for modifying replication peer in peer procedures.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/ReplicationLoad.html#org.apache.hadoop.hbase.regionserver">ReplicationLoad</a>
<div class="block">This class is used for exporting some of the info from replication metrics</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/ReplicationSourceManager.html#org.apache.hadoop.hbase.regionserver">ReplicationSourceManager</a>
<div class="block">This class is responsible to manage all the replication sources.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/ReplicationStatus.html#org.apache.hadoop.hbase.regionserver">ReplicationStatus</a>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/SyncReplicationPeerInfoProvider.html#org.apache.hadoop.hbase.regionserver">SyncReplicationPeerInfoProvider</a>
<div class="block">Get the information for a sync replication peer.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList"><a name="org.apache.hadoop.hbase.regionserver.wal">
<!--   -->
</a>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
<caption><span>Classes in <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/package-summary.html">org.apache.hadoop.hbase.replication.regionserver</a> used by <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/package-summary.html">org.apache.hadoop.hbase.regionserver.wal</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Class and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/WALFileLengthProvider.html#org.apache.hadoop.hbase.regionserver.wal">WALFileLengthProvider</a>
<div class="block">Used by replication to prevent replicating unacked log entries.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList"><a name="org.apache.hadoop.hbase.replication">
<!--   -->
</a>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
<caption><span>Classes in <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/package-summary.html">org.apache.hadoop.hbase.replication.regionserver</a> used by <a href="../../../../../../org/apache/hadoop/hbase/replication/package-summary.html">org.apache.hadoop.hbase.replication</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Class and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/MetricsSource.html#org.apache.hadoop.hbase.replication">MetricsSource</a>
<div class="block">This class is for maintaining the various replication statistics for a source and publishing them
 through the metrics interfaces.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/ReplicationLoad.html#org.apache.hadoop.hbase.replication">ReplicationLoad</a>
<div class="block">This class is used for exporting some of the info from replication metrics</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/ReplicationSink.html#org.apache.hadoop.hbase.replication">ReplicationSink</a>
<div class="block">
 This class is responsible for replicating the edits coming
 from another cluster.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList"><a name="org.apache.hadoop.hbase.replication.regionserver">
<!--   -->
</a>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
<caption><span>Classes in <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/package-summary.html">org.apache.hadoop.hbase.replication.regionserver</a> used by <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/package-summary.html">org.apache.hadoop.hbase.replication.regionserver</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Class and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/DumpReplicationQueues.DumpOptions.html#org.apache.hadoop.hbase.replication.regionserver">DumpReplicationQueues.DumpOptions</a>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/MetricsReplicationGlobalSourceSource.html#org.apache.hadoop.hbase.replication.regionserver">MetricsReplicationGlobalSourceSource</a>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/MetricsReplicationGlobalSourceSourceImpl.html#org.apache.hadoop.hbase.replication.regionserver">MetricsReplicationGlobalSourceSourceImpl</a>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/MetricsReplicationSinkSource.html#org.apache.hadoop.hbase.replication.regionserver">MetricsReplicationSinkSource</a>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/MetricsReplicationSource.html#org.apache.hadoop.hbase.replication.regionserver">MetricsReplicationSource</a>
<div class="block">Provides access to gauges and counters.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/MetricsReplicationSourceFactory.html#org.apache.hadoop.hbase.replication.regionserver">MetricsReplicationSourceFactory</a>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/MetricsReplicationSourceFactoryImpl.SourceHolder.html#org.apache.hadoop.hbase.replication.regionserver">MetricsReplicationSourceFactoryImpl.SourceHolder</a>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/MetricsReplicationSourceImpl.html#org.apache.hadoop.hbase.replication.regionserver">MetricsReplicationSourceImpl</a>
<div class="block">Hadoop2 implementation of MetricsReplicationSource.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/MetricsReplicationSourceSource.html#org.apache.hadoop.hbase.replication.regionserver">MetricsReplicationSourceSource</a>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/MetricsReplicationTableSource.html#org.apache.hadoop.hbase.replication.regionserver">MetricsReplicationTableSource</a>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/MetricsSink.html#org.apache.hadoop.hbase.replication.regionserver">MetricsSink</a>
<div class="block">This class is for maintaining the various replication statistics for a sink and publishing them
 through the metrics interfaces.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/MetricsSource.html#org.apache.hadoop.hbase.replication.regionserver">MetricsSource</a>
<div class="block">This class is for maintaining the various replication statistics for a source and publishing them
 through the metrics interfaces.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/PeerActionListener.html#org.apache.hadoop.hbase.replication.regionserver">PeerActionListener</a>
<div class="block">Get notification for replication peer events.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/PeerProcedureHandler.html#org.apache.hadoop.hbase.replication.regionserver">PeerProcedureHandler</a>
<div class="block">A handler for modifying replication peer in peer procedures.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/RecoveredReplicationSource.html#org.apache.hadoop.hbase.replication.regionserver">RecoveredReplicationSource</a>
<div class="block">Class that handles the recovered source of a replication stream, which is transfered from
 another dead region server.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/RecoveredReplicationSourceShipper.html#org.apache.hadoop.hbase.replication.regionserver">RecoveredReplicationSourceShipper</a>
<div class="block">Used by a <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSource.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><code>RecoveredReplicationSource</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/RejectReplicationRequestStateChecker.html#org.apache.hadoop.hbase.replication.regionserver">RejectReplicationRequestStateChecker</a>
<div class="block">Check whether we need to reject the replication request from source cluster.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/RejectRequestsFromClientStateChecker.html#org.apache.hadoop.hbase.replication.regionserver">RejectRequestsFromClientStateChecker</a>
<div class="block">Check whether we need to reject the request from client.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/ReplicationLoad.html#org.apache.hadoop.hbase.replication.regionserver">ReplicationLoad</a>
<div class="block">This class is used for exporting some of the info from replication metrics</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/ReplicationSource.html#org.apache.hadoop.hbase.replication.regionserver">ReplicationSource</a>
<div class="block">Class that handles the source of a replication stream.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/ReplicationSourceInterface.html#org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>
<div class="block">Interface that defines a replication source</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/ReplicationSourceManager.html#org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceManager</a>
<div class="block">This class is responsible to manage all the replication sources.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/ReplicationSourceManager.ReplicationQueueOperation.html#org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceManager.ReplicationQueueOperation</a>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/ReplicationSourceShipper.html#org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceShipper</a>
<div class="block">This thread reads entries from a queue and ships them.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/ReplicationSourceShipper.WorkerState.html#org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceShipper.WorkerState</a>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/ReplicationSourceWALReader.html#org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader</a>
<div class="block">Reads and filters WAL entries, groups the filtered entries into batches, and puts the batches
 onto a queue</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/ReplicationStatus.html#org.apache.hadoop.hbase.replication.regionserver">ReplicationStatus</a>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/ReplicationStatus.ReplicationStatusBuilder.html#org.apache.hadoop.hbase.replication.regionserver">ReplicationStatus.ReplicationStatusBuilder</a>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/ReplicationThrottler.html#org.apache.hadoop.hbase.replication.regionserver">ReplicationThrottler</a>
<div class="block">Per-peer per-node throttling controller for replication: enabled if
 bandwidth &gt; 0, a cycle = 100ms, by throttling we guarantee data pushed
 to peer within each cycle won't exceed 'bandwidth' bytes</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/SerialReplicationChecker.html#org.apache.hadoop.hbase.replication.regionserver">SerialReplicationChecker</a>
<div class="block">
 Helper class to determine whether we can push a given WAL entry without breaking the replication
 order.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/SourceFSConfigurationProvider.html#org.apache.hadoop.hbase.replication.regionserver">SourceFSConfigurationProvider</a>
<div class="block">Interface that defines how a region server in peer cluster will get source cluster file system
 configurations.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/SyncReplicationPeerInfoProvider.html#org.apache.hadoop.hbase.replication.regionserver">SyncReplicationPeerInfoProvider</a>
<div class="block">Get the information for a sync replication peer.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/SyncReplicationPeerMappingManager.html#org.apache.hadoop.hbase.replication.regionserver">SyncReplicationPeerMappingManager</a>
<div class="block">Used to map region to sync replication peer id.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/WALEntryBatch.html#org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a>
<div class="block">Holds a batch of WAL entries to replicate, along with some statistics</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/WALEntrySinkFilter.html#org.apache.hadoop.hbase.replication.regionserver">WALEntrySinkFilter</a>
<div class="block">Implementations are installed on a Replication Sink called from inside
 ReplicationSink#replicateEntries to filter replicated WALEntries based off WALEntry attributes.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/WALEntryStream.html#org.apache.hadoop.hbase.replication.regionserver">WALEntryStream</a>
<div class="block">Streaming access to WAL entries.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/WALFileLengthProvider.html#org.apache.hadoop.hbase.replication.regionserver">WALFileLengthProvider</a>
<div class="block">Used by replication to prevent replicating unacked log entries.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList"><a name="org.apache.hadoop.hbase.wal">
<!--   -->
</a>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
<caption><span>Classes in <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/package-summary.html">org.apache.hadoop.hbase.replication.regionserver</a> used by <a href="../../../../../../org/apache/hadoop/hbase/wal/package-summary.html">org.apache.hadoop.hbase.wal</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Class and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/PeerActionListener.html#org.apache.hadoop.hbase.wal">PeerActionListener</a>
<div class="block">Get notification for replication peer events.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/SyncReplicationPeerInfoProvider.html#org.apache.hadoop.hbase.wal">SyncReplicationPeerInfoProvider</a>
<div class="block">Get the information for a sync replication peer.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/WALFileLengthProvider.html#org.apache.hadoop.hbase.wal">WALFileLengthProvider</a>
<div class="block">Used by replication to prevent replicating unacked log entries.</div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li>Class</li>
<li class="navBarCell1Rev">Use</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>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/replication/regionserver/package-use.html" target="_top">Frames</a></li>
<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;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>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>
