<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
<HTML>
<HEAD>
<meta name="generator" content="JDiff v1.0.9">
<!-- Generated by the JDiff Javadoc doclet -->
<!-- (http://www.jdiff.org) -->
<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
<TITLE>
All Differences Index
</TITLE>
<LINK REL="stylesheet" TYPE="text/css" HREF="../stylesheet-jdiff.css" TITLE="Style">
</HEAD>
<BODY>
<a NAME="topheader"></a>
<table summary="Index for All Differences" width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
  <td bgcolor="#FFFFCC">
<font size="+1"><a href="alldiffs_index_all.html" class="staysblack">All Differences</a></font>
  </td>
  </tr>
  <tr>
  <td bgcolor="#FFFFFF">
  <FONT SIZE="-1">
<font color="#999999">Removals</font>
  </FONT>
  </td>
  </tr>
  <tr>
  <td bgcolor="#FFFFFF">
  <FONT SIZE="-1">
<A HREF="alldiffs_index_additions.html"class="hiddenlink">Additions</A>
  </FONT>
  </td>
  </tr>
  <tr>
  <td bgcolor="#FFFFFF">
  <FONT SIZE="-1">
<A HREF="alldiffs_index_changes.html"class="hiddenlink">Changes</A>
  </FONT>
  </td>
  </tr>
  <tr>
  <td>
<font size="-2"><b>Bold</b>&nbsp;is&nbsp;New,&nbsp;<strike>strike</strike>&nbsp;is&nbsp;deleted</font>
  </td>
  </tr>
</table><br>
<!-- Method completeBootstrapTransfer -->
<A NAME="C"></A>
<br><font size="+2">C</font>&nbsp;
<a href="#D"><font size="-2">D</font></a> 
<a href="#F"><font size="-2">F</font></a> 
<a href="#G"><font size="-2">G</font></a> 
<a href="#I"><font size="-2">I</font></a> 
<a href="#J"><font size="-2">J</font></a> 
<a href="#O"><font size="-2">O</font></a> 
<a href="#T"><font size="-2">T</font></a> 
 <a href="#topheader"><font size="-2">TOP</font></a>
<br>
<nobr><A HREF="org.apache.hadoop.hdfs.server.aliasmap.InMemoryAliasMap.html#org.apache.hadoop.hdfs.server.aliasmap.InMemoryAliasMap.completeBootstrapTransfer_added(java.io.File)" class="hiddenlink" target="rightframe"><b>completeBootstrapTransfer</b>
(<code>File</code>)</A></nobr><br>
<!-- Class DefaultAuditLogger -->
<A NAME="D"></A>
<br><font size="+2">D</font>&nbsp;
<a href="#C"><font size="-2">C</font></a> 
<a href="#F"><font size="-2">F</font></a> 
<a href="#G"><font size="-2">G</font></a> 
<a href="#I"><font size="-2">I</font></a> 
<a href="#J"><font size="-2">J</font></a> 
<a href="#O"><font size="-2">O</font></a> 
<a href="#T"><font size="-2">T</font></a> 
 <a href="#topheader"><font size="-2">TOP</font></a>
<br>
<A HREF="pkg_org.apache.hadoop.hdfs.server.namenode.html#DefaultAuditLogger" class="hiddenlink" target="rightframe"><b>DefaultAuditLogger</b></A><br>
<!-- Method fromBlockBytes -->
<A NAME="F"></A>
<br><font size="+2">F</font>&nbsp;
<a href="#C"><font size="-2">C</font></a> 
<a href="#D"><font size="-2">D</font></a> 
<a href="#G"><font size="-2">G</font></a> 
<a href="#I"><font size="-2">I</font></a> 
<a href="#J"><font size="-2">J</font></a> 
<a href="#O"><font size="-2">O</font></a> 
<a href="#T"><font size="-2">T</font></a> 
 <a href="#topheader"><font size="-2">TOP</font></a>
<br>
<nobr><A HREF="org.apache.hadoop.hdfs.server.aliasmap.InMemoryAliasMap.html#org.apache.hadoop.hdfs.server.aliasmap.InMemoryAliasMap.fromBlockBytes_changed(byte[])" class="hiddenlink" target="rightframe">fromBlockBytes
(<code>byte[]</code>)</A></nobr><br>
<!-- Method fromProvidedStorageLocationBytes -->
<nobr><A HREF="org.apache.hadoop.hdfs.server.aliasmap.InMemoryAliasMap.html#org.apache.hadoop.hdfs.server.aliasmap.InMemoryAliasMap.fromProvidedStorageLocationBytes_changed(byte[])" class="hiddenlink" target="rightframe">fromProvidedStorageLocationBytes
(<code>byte[]</code>)</A></nobr><br>
<!-- Method getClusterIds -->
<A NAME="G"></A>
<br><font size="+2">G</font>&nbsp;
<a href="#C"><font size="-2">C</font></a> 
<a href="#D"><font size="-2">D</font></a> 
<a href="#F"><font size="-2">F</font></a> 
<a href="#I"><font size="-2">I</font></a> 
<a href="#J"><font size="-2">J</font></a> 
<a href="#O"><font size="-2">O</font></a> 
<a href="#T"><font size="-2">T</font></a> 
 <a href="#topheader"><font size="-2">TOP</font></a>
<br>
<nobr><A HREF="org.apache.hadoop.hdfs.qjournal.server.JournalNodeMXBean.html#org.apache.hadoop.hdfs.qjournal.server.JournalNodeMXBean.getClusterIds_added()" class="hiddenlink" target="rightframe"><b>getClusterIds</b>
()</A></nobr><br>
<!-- Method getHostAndPort -->
<nobr><A HREF="org.apache.hadoop.hdfs.qjournal.server.JournalNodeMXBean.html#org.apache.hadoop.hdfs.qjournal.server.JournalNodeMXBean.getHostAndPort_added()" class="hiddenlink" target="rightframe"><b>getHostAndPort</b>
()</A></nobr><br>
<!-- Method getVersion -->
<nobr><A HREF="org.apache.hadoop.hdfs.qjournal.server.JournalNodeMXBean.html#org.apache.hadoop.hdfs.qjournal.server.JournalNodeMXBean.getVersion_added()" class="hiddenlink" target="rightframe"><b>getVersion</b>
()</A></nobr><br>
<!-- Class InMemoryAliasMap -->
<A NAME="I"></A>
<br><font size="+2">I</font>&nbsp;
<a href="#C"><font size="-2">C</font></a> 
<a href="#D"><font size="-2">D</font></a> 
<a href="#F"><font size="-2">F</font></a> 
<a href="#G"><font size="-2">G</font></a> 
<a href="#J"><font size="-2">J</font></a> 
<a href="#O"><font size="-2">O</font></a> 
<a href="#T"><font size="-2">T</font></a> 
 <a href="#topheader"><font size="-2">TOP</font></a>
<br>
<A HREF="org.apache.hadoop.hdfs.server.aliasmap.InMemoryAliasMap.html" class="hiddenlink" target="rightframe">InMemoryAliasMap</A><br>
<!-- Class JournalNodeMXBean -->
<A NAME="J"></A>
<br><font size="+2">J</font>&nbsp;
<a href="#C"><font size="-2">C</font></a> 
<a href="#D"><font size="-2">D</font></a> 
<a href="#F"><font size="-2">F</font></a> 
<a href="#G"><font size="-2">G</font></a> 
<a href="#I"><font size="-2">I</font></a> 
<a href="#O"><font size="-2">O</font></a> 
<a href="#T"><font size="-2">T</font></a> 
 <a href="#topheader"><font size="-2">TOP</font></a>
<br>
<A HREF="org.apache.hadoop.hdfs.qjournal.server.JournalNodeMXBean.html" class="hiddenlink" target="rightframe"><i>JournalNodeMXBean</i></A><br>
<!-- Package org.apache.hadoop.hdfs.qjournal.server -->
<A NAME="O"></A>
<A HREF="pkg_org.apache.hadoop.hdfs.qjournal.server.html" class="hiddenlink" target="rightframe">org.apache.hadoop.hdfs.qjournal.server</A><br>
<!-- Package org.apache.hadoop.hdfs.server.aliasmap -->
<A HREF="pkg_org.apache.hadoop.hdfs.server.aliasmap.html" class="hiddenlink" target="rightframe">org.apache.hadoop.hdfs.server.aliasmap</A><br>
<!-- Package org.apache.hadoop.hdfs.server.namenode -->
<A HREF="pkg_org.apache.hadoop.hdfs.server.namenode.html" class="hiddenlink" target="rightframe">org.apache.hadoop.hdfs.server.namenode</A><br>
<!-- Method transferForBootstrap -->
<A NAME="T"></A>
<br><font size="+2">T</font>&nbsp;
<a href="#C"><font size="-2">C</font></a> 
<a href="#D"><font size="-2">D</font></a> 
<a href="#F"><font size="-2">F</font></a> 
<a href="#G"><font size="-2">G</font></a> 
<a href="#I"><font size="-2">I</font></a> 
<a href="#J"><font size="-2">J</font></a> 
<a href="#O"><font size="-2">O</font></a> 
 <a href="#topheader"><font size="-2">TOP</font></a>
<br>
<nobr><A HREF="org.apache.hadoop.hdfs.server.aliasmap.InMemoryAliasMap.html#org.apache.hadoop.hdfs.server.aliasmap.InMemoryAliasMap.transferForBootstrap_added(javax.servlet.http.HttpServletResponse, org.apache.hadoop.conf.Configuration, org.apache.hadoop.hdfs.server.aliasmap.InMemoryAliasMap)" class="hiddenlink" target="rightframe"><b>transferForBootstrap</b>
(<code>HttpServletResponse, Configuration, InMemoryAliasMap</code>)</A></nobr><br>
</BODY>
</HTML>
