<!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 (version 1.7.0_51) on Wed Mar 25 12:53:40 PDT 2015 -->
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>NFD (jndn-management 0.9.7 API)</title>
<meta name="date" content="2015-03-25">
<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="NFD (jndn-management 0.9.7 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/NFD.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="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management"><span class="strong">Prev Class</span></a></li>
<li>Next Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?com/intel/jndn/management/NFD.html" target="_top">Frames</a></li>
<li><a href="NFD.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><a href="#field_summary">Field</a>&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><a href="#field_detail">Field</a>&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">com.intel.jndn.management</div>
<h2 title="Class NFD" class="title">Class NFD</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>com.intel.jndn.management.NFD</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="strong">NFD</span>
extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">Helper class for interacting with an NDN forwarder daemon; see
 <a href="http://redmine.named-data.net/projects/nfd/wiki/Management">http://redmine.named-data.net/projects/nfd/wiki/Management</a>
 for explanations of the various protocols used.</div>
<dl><dt><span class="strong">Author:</span></dt>
  <dd>Andrew Brown <andrew.brown@intel.com></dd></dl>
</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>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#DEFAULT_TIMEOUT">DEFAULT_TIMEOUT</a></strong></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#OK_STATUS">OK_STATUS</a></strong></code>&nbsp;</td>
</tr>
</table>
</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">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#NFD()">NFD</a></strong>()</code>&nbsp;</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>static void</code></td>
<td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#addNextHop(net.named_data.jndn.Face, int, net.named_data.jndn.Name)">addNextHop</a></strong>(net.named_data.jndn.Face&nbsp;forwarder,
          int&nbsp;faceId,
          net.named_data.jndn.Name&nbsp;prefix)</code>
<div class="block">Helper method to register a new face on the forwarder; as mentioned at
 <a href="http://named-data.net/doc/NFD/current/manpages/nfdc.html">http://named-data.net/doc/NFD/current/manpages/nfdc.html</a>,
 this is more for debugging; use 'register' instead</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#createFace(net.named_data.jndn.Face, java.lang.String)">createFace</a></strong>(net.named_data.jndn.Face&nbsp;forwarder,
          <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;uri)</code>
<div class="block">Create a new face on the given forwarder.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#destroyFace(net.named_data.jndn.Face, int)">destroyFace</a></strong>(net.named_data.jndn.Face&nbsp;forwarder,
           int&nbsp;faceId)</code>
<div class="block">Destroy a face on given forwarder.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#disableLocalControlHeader(net.named_data.jndn.Face, com.intel.jndn.management.types.LocalControlHeader)">disableLocalControlHeader</a></strong>(net.named_data.jndn.Face&nbsp;forwarder,
                         <a href="../../../../com/intel/jndn/management/types/LocalControlHeader.html" title="enum in com.intel.jndn.management.types">LocalControlHeader</a>&nbsp;header)</code>
<div class="block">Disable a local control feature on the given forwarder.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#enableLocalControlHeader(net.named_data.jndn.Face, com.intel.jndn.management.types.LocalControlHeader)">enableLocalControlHeader</a></strong>(net.named_data.jndn.Face&nbsp;forwarder,
                        <a href="../../../../com/intel/jndn/management/types/LocalControlHeader.html" title="enum in com.intel.jndn.management.types">LocalControlHeader</a>&nbsp;header)</code>
<div class="block">Enable a local control feature on the given forwarder.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../com/intel/jndn/management/types/FaceStatus.html" title="class in com.intel.jndn.management.types">FaceStatus</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#getFaceList(net.named_data.jndn.Face)">getFaceList</a></strong>(net.named_data.jndn.Face&nbsp;forwarder)</code>
<div class="block">Retrieve a list of faces and their status from the given forwarder; calls
 /localhost/nfd/faces/list which requires a local Face (all non-local
 packets are dropped)</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../com/intel/jndn/management/types/FibEntry.html" title="class in com.intel.jndn.management.types">FibEntry</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#getFibList(net.named_data.jndn.Face)">getFibList</a></strong>(net.named_data.jndn.Face&nbsp;forwarder)</code>
<div class="block">Retrieve a list of FIB entries and their NextHopRecords from the given
 forwarder; calls /localhost/nfd/fib/list which requires a local Face (all
 non-local packets are dropped).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../../../com/intel/jndn/management/types/ForwarderStatus.html" title="class in com.intel.jndn.management.types">ForwarderStatus</a></code></td>
<td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#getForwarderStatus(net.named_data.jndn.Face)">getForwarderStatus</a></strong>(net.named_data.jndn.Face&nbsp;forwarder)</code>
<div class="block">Retrieve the status of the given forwarder; calls /localhost/nfd/status
 which requires a local Face (all non-local packets are dropped)</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../com/intel/jndn/management/types/RibEntry.html" title="class in com.intel.jndn.management.types">RibEntry</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#getRouteList(net.named_data.jndn.Face)">getRouteList</a></strong>(net.named_data.jndn.Face&nbsp;forwarder)</code>
<div class="block">Retrieve a list of routing entries from the RIB; calls
 /localhost/nfd/rib/list which requires a local Face (all non-local packets
 are dropped).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#ping(net.named_data.jndn.Face, net.named_data.jndn.Name)">ping</a></strong>(net.named_data.jndn.Face&nbsp;face,
    net.named_data.jndn.Name&nbsp;name)</code>
<div class="block">Request a name on an existing face to verify the forwarder is working and
 responding to requests.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#pingLocal(net.named_data.jndn.Face)">pingLocal</a></strong>(net.named_data.jndn.Face&nbsp;face)</code>
<div class="block">Ping a forwarder on an existing face to verify that the forwarder is
 working and responding to requests; this version sends a discovery packet
 to /localhost/nfd which should always respond if the requestor is on the
 same machine as the NDN forwarding daemon.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#register(net.named_data.jndn.Face, net.named_data.jndn.ControlParameters)">register</a></strong>(net.named_data.jndn.Face&nbsp;forwarder,
        net.named_data.jndn.ControlParameters&nbsp;controlParameters)</code>
<div class="block">Register a route on the forwarder; see
 <a href="http://named-data.net/doc/NFD/current/manpages/nfdc.html">http://named-data.net/doc/NFD/current/manpages/nfdc.html</a>
 for command-line usage and
 <a href="http://redmine.named-data.net/projects/nfd/wiki/RibMgmt">http://redmine.named-data.net/projects/nfd/wiki/RibMgmt</a>
 for protocol documentation.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#register(net.named_data.jndn.Face, int, net.named_data.jndn.Name, int)">register</a></strong>(net.named_data.jndn.Face&nbsp;forwarder,
        int&nbsp;faceId,
        net.named_data.jndn.Name&nbsp;route,
        int&nbsp;cost)</code>
<div class="block">Register a route on a forwarder; this will not create a new face since it
 is provided a faceId.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#register(net.named_data.jndn.Face, java.lang.String, net.named_data.jndn.Name, int)">register</a></strong>(net.named_data.jndn.Face&nbsp;forwarder,
        <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;uri,
        net.named_data.jndn.Name&nbsp;route,
        int&nbsp;cost)</code>
<div class="block">Register a route on a forwarder; this will create a new face on the
 forwarder to the given URI/route pair.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static net.named_data.jndn.Data</code></td>
<td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#retrieveDataSet(net.named_data.jndn.Face, net.named_data.jndn.Name)">retrieveDataSet</a></strong>(net.named_data.jndn.Face&nbsp;forwarder,
               net.named_data.jndn.Name&nbsp;datasetName)</code>
<div class="block">Build an interest to retrieve a segmented data set from the NFD; for
 details on the DataSet, see
 <a href="http://redmine.named-data.net/projects/nfd/wiki/StatusDataset">http://redmine.named-data.net/projects/nfd/wiki/StatusDataset</a></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../../../com/intel/jndn/management/types/ControlResponse.html" title="class in com.intel.jndn.management.types">ControlResponse</a></code></td>
<td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#sendCommand(net.named_data.jndn.Face, net.named_data.jndn.Interest)">sendCommand</a></strong>(net.named_data.jndn.Face&nbsp;forwarder,
           net.named_data.jndn.Interest&nbsp;interest)</code>
<div class="block">Send an interest as a command to the forwarder; this method will convert
 the interest to a command interest and block until a response is received
 from the forwarder.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#setStrategy(net.named_data.jndn.Face, net.named_data.jndn.Name, net.named_data.jndn.Name)">setStrategy</a></strong>(net.named_data.jndn.Face&nbsp;forwarder,
           net.named_data.jndn.Name&nbsp;prefix,
           net.named_data.jndn.Name&nbsp;strategy)</code>
<div class="block">Set a strategy on the forwarder; see
 <a href="http://named-data.net/doc/NFD/current/manpages/nfdc.html">http://named-data.net/doc/NFD/current/manpages/nfdc.html</a>
 for command-line usage and
 <a href="http://redmine.named-data.net/projects/nfd/wiki/StrategyChoice">http://redmine.named-data.net/projects/nfd/wiki/StrategyChoice</a>
 for protocol documentation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#unregister(net.named_data.jndn.Face, net.named_data.jndn.ControlParameters)">unregister</a></strong>(net.named_data.jndn.Face&nbsp;forwarder,
          net.named_data.jndn.ControlParameters&nbsp;controlParameters)</code>
<div class="block">Unregister a route on a forwarder; see
 <a href="http://named-data.net/doc/NFD/current/manpages/nfdc.html">http://named-data.net/doc/NFD/current/manpages/nfdc.html</a>
 for command-line usage and
 <a href="http://redmine.named-data.net/projects/nfd/wiki/RibMgmt">http://redmine.named-data.net/projects/nfd/wiki/RibMgmt</a>
 for protocol documentation.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#unregister(net.named_data.jndn.Face, net.named_data.jndn.Name)">unregister</a></strong>(net.named_data.jndn.Face&nbsp;forwarder,
          net.named_data.jndn.Name&nbsp;route)</code>
<div class="block">Unregister a route on a forwarder; see
 <a href="http://named-data.net/doc/NFD/current/manpages/nfdc.html">http://named-data.net/doc/NFD/current/manpages/nfdc.html</a>
 for command-line usage and
 <a href="http://redmine.named-data.net/projects/nfd/wiki/RibMgmt">http://redmine.named-data.net/projects/nfd/wiki/RibMgmt</a>
 for protocol documentation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#unregister(net.named_data.jndn.Face, net.named_data.jndn.Name, int)">unregister</a></strong>(net.named_data.jndn.Face&nbsp;forwarder,
          net.named_data.jndn.Name&nbsp;route,
          int&nbsp;faceId)</code>
<div class="block">Unregister a route on a forwarder; see
 <a href="http://named-data.net/doc/NFD/current/manpages/nfdc.html">http://named-data.net/doc/NFD/current/manpages/nfdc.html</a>
 for command-line usage and
 <a href="http://redmine.named-data.net/projects/nfd/wiki/RibMgmt">http://redmine.named-data.net/projects/nfd/wiki/RibMgmt</a>
 for protocol documentation.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#unregister(net.named_data.jndn.Face, net.named_data.jndn.Name, java.lang.String)">unregister</a></strong>(net.named_data.jndn.Face&nbsp;forwarder,
          net.named_data.jndn.Name&nbsp;route,
          <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;uri)</code>
<div class="block">Unregister a route on a forwarder; see
 <a href="http://named-data.net/doc/NFD/current/manpages/nfdc.html">http://named-data.net/doc/NFD/current/manpages/nfdc.html</a>
 for command-line usage and
 <a href="http://redmine.named-data.net/projects/nfd/wiki/RibMgmt">http://redmine.named-data.net/projects/nfd/wiki/RibMgmt</a>
 for protocol documentation.</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.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="DEFAULT_TIMEOUT">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_TIMEOUT</h4>
<pre>public static final&nbsp;long DEFAULT_TIMEOUT</pre>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#com.intel.jndn.management.NFD.DEFAULT_TIMEOUT">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="OK_STATUS">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>OK_STATUS</h4>
<pre>public static final&nbsp;int OK_STATUS</pre>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#com.intel.jndn.management.NFD.OK_STATUS">Constant Field Values</a></dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="NFD()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>NFD</h4>
<pre>public&nbsp;NFD()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="pingLocal(net.named_data.jndn.Face)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>pingLocal</h4>
<pre>public static&nbsp;boolean&nbsp;pingLocal(net.named_data.jndn.Face&nbsp;face)</pre>
<div class="block">Ping a forwarder on an existing face to verify that the forwarder is
 working and responding to requests; this version sends a discovery packet
 to /localhost/nfd which should always respond if the requestor is on the
 same machine as the NDN forwarding daemon.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>face</code> - only a localhost Face</dd>
<dt><span class="strong">Returns:</span></dt><dd>true if successful, false otherwise</dd></dl>
</li>
</ul>
<a name="ping(net.named_data.jndn.Face, net.named_data.jndn.Name)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ping</h4>
<pre>public static&nbsp;boolean&nbsp;ping(net.named_data.jndn.Face&nbsp;face,
           net.named_data.jndn.Name&nbsp;name)</pre>
<div class="block">Request a name on an existing face to verify the forwarder is working and
 responding to requests. Note that the name must be served or cached on the
 forwarder for this to return true.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>face</code> - </dd><dd><code>name</code> - </dd>
<dt><span class="strong">Returns:</span></dt><dd>true if successful, false otherwise</dd></dl>
</li>
</ul>
<a name="getForwarderStatus(net.named_data.jndn.Face)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getForwarderStatus</h4>
<pre>public static&nbsp;<a href="../../../../com/intel/jndn/management/types/ForwarderStatus.html" title="class in com.intel.jndn.management.types">ForwarderStatus</a>&nbsp;getForwarderStatus(net.named_data.jndn.Face&nbsp;forwarder)
                                          throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Retrieve the status of the given forwarder; calls /localhost/nfd/status
 which requires a local Face (all non-local packets are dropped)</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>forwarder</code> - only a localhost Face</dd>
<dt><span class="strong">Returns:</span></dt><dd>the forwarder status object, see
 <a href="http://redmine.named-data.net/projects/nfd/wiki/ForwarderStatus">
 http://redmine.named-data.net/projects/nfd/wiki/ForwarderStatus</a>.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd></dl>
</li>
</ul>
<a name="getFaceList(net.named_data.jndn.Face)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFaceList</h4>
<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../com/intel/jndn/management/types/FaceStatus.html" title="class in com.intel.jndn.management.types">FaceStatus</a>&gt;&nbsp;getFaceList(net.named_data.jndn.Face&nbsp;forwarder)
                                    throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Retrieve a list of faces and their status from the given forwarder; calls
 /localhost/nfd/faces/list which requires a local Face (all non-local
 packets are dropped)</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>forwarder</code> - only a localhost Face</dd>
<dt><span class="strong">Returns:</span></dt><dd>a list of face status objects, see
 http://redmine.named-data.net/projects/nfd/wiki/FaceMgmt.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd></dl>
</li>
</ul>
<a name="getFibList(net.named_data.jndn.Face)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFibList</h4>
<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../com/intel/jndn/management/types/FibEntry.html" title="class in com.intel.jndn.management.types">FibEntry</a>&gt;&nbsp;getFibList(net.named_data.jndn.Face&nbsp;forwarder)
                                 throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Retrieve a list of FIB entries and their NextHopRecords from the given
 forwarder; calls /localhost/nfd/fib/list which requires a local Face (all
 non-local packets are dropped).</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>forwarder</code> - only a localhost Face</dd>
<dt><span class="strong">Returns:</span></dt><dd>a list of FIB entries, see
 http://redmine.named-data.net/projects/nfd/wiki/FibMgmt#FIB-Dataset.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd></dl>
</li>
</ul>
<a name="getRouteList(net.named_data.jndn.Face)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRouteList</h4>
<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../com/intel/jndn/management/types/RibEntry.html" title="class in com.intel.jndn.management.types">RibEntry</a>&gt;&nbsp;getRouteList(net.named_data.jndn.Face&nbsp;forwarder)
                                   throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Retrieve a list of routing entries from the RIB; calls
 /localhost/nfd/rib/list which requires a local Face (all non-local packets
 are dropped).</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>forwarder</code> - only a localhost Face</dd>
<dt><span class="strong">Returns:</span></dt><dd>a list of RIB entries, i.e. routes, see
 http://redmine.named-data.net/projects/nfd/wiki/RibMgmt#RIB-Dataset.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd></dl>
</li>
</ul>
<a name="addNextHop(net.named_data.jndn.Face, int, net.named_data.jndn.Name)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addNextHop</h4>
<pre>public static&nbsp;void&nbsp;addNextHop(net.named_data.jndn.Face&nbsp;forwarder,
              int&nbsp;faceId,
              net.named_data.jndn.Name&nbsp;prefix)
                       throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Helper method to register a new face on the forwarder; as mentioned at
 <a href="http://named-data.net/doc/NFD/current/manpages/nfdc.html">http://named-data.net/doc/NFD/current/manpages/nfdc.html</a>,
 this is more for debugging; use 'register' instead</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>forwarder</code> - only a localhost Face</dd><dd><code>faceId</code> - </dd><dd><code>prefix</code> - </dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd></dl>
</li>
</ul>
<a name="createFace(net.named_data.jndn.Face, java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createFace</h4>
<pre>public static&nbsp;int&nbsp;createFace(net.named_data.jndn.Face&nbsp;forwarder,
             <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;uri)
                      throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Create a new face on the given forwarder. Ensure the forwarding face is on
 the local machine (management requests are to /localhost/...) and that
 command signing has been set up (e.g. forwarder.setCommandSigningInfo()).</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>forwarder</code> - only a localhost Face</dd><dd><code>uri</code> - </dd>
<dt><span class="strong">Returns:</span></dt><dd></dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd></dl>
</li>
</ul>
<a name="destroyFace(net.named_data.jndn.Face, int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>destroyFace</h4>
<pre>public static&nbsp;void&nbsp;destroyFace(net.named_data.jndn.Face&nbsp;forwarder,
               int&nbsp;faceId)
                        throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Destroy a face on given forwarder. Ensure the forwarding face is on the
 local machine (management requests are to /localhost/...) and that command
 signing has been set up (e.g. forwarder.setCommandSigningInfo()).</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>forwarder</code> - only a localhost Face</dd><dd><code>faceId</code> - </dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd></dl>
</li>
</ul>
<a name="enableLocalControlHeader(net.named_data.jndn.Face, com.intel.jndn.management.types.LocalControlHeader)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>enableLocalControlHeader</h4>
<pre>public static&nbsp;void&nbsp;enableLocalControlHeader(net.named_data.jndn.Face&nbsp;forwarder,
                            <a href="../../../../com/intel/jndn/management/types/LocalControlHeader.html" title="enum in com.intel.jndn.management.types">LocalControlHeader</a>&nbsp;header)
                                     throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Enable a local control feature on the given forwarder. See
 <a href="http://redmine.named-data.net/projects/nfd/wiki/FaceMgmt#Enable-a-LocalControlHeader-feature">http://redmine.named-data.net/projects/nfd/wiki/FaceMgmt#Enable-a-LocalControlHeader-feature</a></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>forwarder</code> - </dd><dd><code>header</code> - </dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd></dl>
</li>
</ul>
<a name="disableLocalControlHeader(net.named_data.jndn.Face, com.intel.jndn.management.types.LocalControlHeader)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>disableLocalControlHeader</h4>
<pre>public static&nbsp;void&nbsp;disableLocalControlHeader(net.named_data.jndn.Face&nbsp;forwarder,
                             <a href="../../../../com/intel/jndn/management/types/LocalControlHeader.html" title="enum in com.intel.jndn.management.types">LocalControlHeader</a>&nbsp;header)
                                      throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Disable a local control feature on the given forwarder. See
 <a href="http://redmine.named-data.net/projects/nfd/wiki/FaceMgmt#Disable-a-LocalControlHeader-feature">http://redmine.named-data.net/projects/nfd/wiki/FaceMgmt#Disable-a-LocalControlHeader-feature</a></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>forwarder</code> - </dd><dd><code>header</code> - </dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd></dl>
</li>
</ul>
<a name="register(net.named_data.jndn.Face, net.named_data.jndn.ControlParameters)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>register</h4>
<pre>public static&nbsp;void&nbsp;register(net.named_data.jndn.Face&nbsp;forwarder,
            net.named_data.jndn.ControlParameters&nbsp;controlParameters)
                     throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Register a route on the forwarder; see
 <a href="http://named-data.net/doc/NFD/current/manpages/nfdc.html">http://named-data.net/doc/NFD/current/manpages/nfdc.html</a>
 for command-line usage and
 <a href="http://redmine.named-data.net/projects/nfd/wiki/RibMgmt">http://redmine.named-data.net/projects/nfd/wiki/RibMgmt</a>
 for protocol documentation. Ensure the forwarding face is on the local
 machine (management requests are to /localhost/...) and that command
 signing has been set up (e.g. forwarder.setCommandSigningInfo()).</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>forwarder</code> - only a localhost Face</dd><dd><code>controlParameters</code> - </dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd></dl>
</li>
</ul>
<a name="register(net.named_data.jndn.Face, java.lang.String, net.named_data.jndn.Name, int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>register</h4>
<pre>public static&nbsp;void&nbsp;register(net.named_data.jndn.Face&nbsp;forwarder,
            <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;uri,
            net.named_data.jndn.Name&nbsp;route,
            int&nbsp;cost)
                     throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Register a route on a forwarder; this will create a new face on the
 forwarder to the given URI/route pair. See register(Face,
 ControlParameters) for more details documentation.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>forwarder</code> - only a localhost Face</dd><dd><code>uri</code> - </dd><dd><code>cost</code> - </dd><dd><code>route</code> - </dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd></dl>
</li>
</ul>
<a name="register(net.named_data.jndn.Face, int, net.named_data.jndn.Name, int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>register</h4>
<pre>public static&nbsp;void&nbsp;register(net.named_data.jndn.Face&nbsp;forwarder,
            int&nbsp;faceId,
            net.named_data.jndn.Name&nbsp;route,
            int&nbsp;cost)
                     throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Register a route on a forwarder; this will not create a new face since it
 is provided a faceId. See register(Face, ControlParameters) for full
 documentation</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>forwarder</code> - only a localhost Face</dd><dd><code>faceId</code> - </dd><dd><code>route</code> - </dd><dd><code>cost</code> - </dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd></dl>
</li>
</ul>
<a name="unregister(net.named_data.jndn.Face, net.named_data.jndn.ControlParameters)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unregister</h4>
<pre>public static&nbsp;void&nbsp;unregister(net.named_data.jndn.Face&nbsp;forwarder,
              net.named_data.jndn.ControlParameters&nbsp;controlParameters)
                       throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Unregister a route on a forwarder; see
 <a href="http://named-data.net/doc/NFD/current/manpages/nfdc.html">http://named-data.net/doc/NFD/current/manpages/nfdc.html</a>
 for command-line usage and
 <a href="http://redmine.named-data.net/projects/nfd/wiki/RibMgmt">http://redmine.named-data.net/projects/nfd/wiki/RibMgmt</a>
 for protocol documentation. Ensure the forwarding face is on the local
 machine (management requests are to /localhost/...) and that command
 signing has been set up (e.g. forwarder.setCommandSigningInfo()</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>forwarder</code> - </dd><dd><code>controlParameters</code> - </dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd></dl>
</li>
</ul>
<a name="unregister(net.named_data.jndn.Face, net.named_data.jndn.Name)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unregister</h4>
<pre>public static&nbsp;void&nbsp;unregister(net.named_data.jndn.Face&nbsp;forwarder,
              net.named_data.jndn.Name&nbsp;route)
                       throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Unregister a route on a forwarder; see
 <a href="http://named-data.net/doc/NFD/current/manpages/nfdc.html">http://named-data.net/doc/NFD/current/manpages/nfdc.html</a>
 for command-line usage and
 <a href="http://redmine.named-data.net/projects/nfd/wiki/RibMgmt">http://redmine.named-data.net/projects/nfd/wiki/RibMgmt</a>
 for protocol documentation. Ensure the forwarding face is on the local
 machine (management requests are to /localhost/...) and that command
 signing has been set up (e.g. forwarder.setCommandSigningInfo()</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>forwarder</code> - </dd><dd><code>route</code> - </dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd></dl>
</li>
</ul>
<a name="unregister(net.named_data.jndn.Face, net.named_data.jndn.Name, int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unregister</h4>
<pre>public static&nbsp;void&nbsp;unregister(net.named_data.jndn.Face&nbsp;forwarder,
              net.named_data.jndn.Name&nbsp;route,
              int&nbsp;faceId)
                       throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Unregister a route on a forwarder; see
 <a href="http://named-data.net/doc/NFD/current/manpages/nfdc.html">http://named-data.net/doc/NFD/current/manpages/nfdc.html</a>
 for command-line usage and
 <a href="http://redmine.named-data.net/projects/nfd/wiki/RibMgmt">http://redmine.named-data.net/projects/nfd/wiki/RibMgmt</a>
 for protocol documentation. Ensure the forwarding face is on the local
 machine (management requests are to /localhost/...) and that command
 signing has been set up (e.g. forwarder.setCommandSigningInfo()</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>forwarder</code> - </dd><dd><code>route</code> - </dd><dd><code>faceId</code> - </dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd></dl>
</li>
</ul>
<a name="unregister(net.named_data.jndn.Face, net.named_data.jndn.Name, java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unregister</h4>
<pre>public static&nbsp;void&nbsp;unregister(net.named_data.jndn.Face&nbsp;forwarder,
              net.named_data.jndn.Name&nbsp;route,
              <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;uri)
                       throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Unregister a route on a forwarder; see
 <a href="http://named-data.net/doc/NFD/current/manpages/nfdc.html">http://named-data.net/doc/NFD/current/manpages/nfdc.html</a>
 for command-line usage and
 <a href="http://redmine.named-data.net/projects/nfd/wiki/RibMgmt">http://redmine.named-data.net/projects/nfd/wiki/RibMgmt</a>
 for protocol documentation. Ensure the forwarding face is on the local
 machine (management requests are to /localhost/...) and that command
 signing has been set up (e.g. forwarder.setCommandSigningInfo()</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>forwarder</code> - </dd><dd><code>route</code> - </dd><dd><code>uri</code> - </dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd></dl>
</li>
</ul>
<a name="setStrategy(net.named_data.jndn.Face, net.named_data.jndn.Name, net.named_data.jndn.Name)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setStrategy</h4>
<pre>public static&nbsp;void&nbsp;setStrategy(net.named_data.jndn.Face&nbsp;forwarder,
               net.named_data.jndn.Name&nbsp;prefix,
               net.named_data.jndn.Name&nbsp;strategy)
                        throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Set a strategy on the forwarder; see
 <a href="http://named-data.net/doc/NFD/current/manpages/nfdc.html">http://named-data.net/doc/NFD/current/manpages/nfdc.html</a>
 for command-line usage and
 <a href="http://redmine.named-data.net/projects/nfd/wiki/StrategyChoice">http://redmine.named-data.net/projects/nfd/wiki/StrategyChoice</a>
 for protocol documentation. Ensure the forwarding face is on the local
 machine (management requests are to /localhost/...) and that command
 signing has been set up (e.g. forwarder.setCommandSigningInfo()).</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>forwarder</code> - only a localhost Face</dd><dd><code>prefix</code> - </dd><dd><code>strategy</code> - </dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd></dl>
</li>
</ul>
<a name="retrieveDataSet(net.named_data.jndn.Face, net.named_data.jndn.Name)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>retrieveDataSet</h4>
<pre>public static&nbsp;net.named_data.jndn.Data&nbsp;retrieveDataSet(net.named_data.jndn.Face&nbsp;forwarder,
                                       net.named_data.jndn.Name&nbsp;datasetName)
                                                throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                                                       <a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></pre>
<div class="block">Build an interest to retrieve a segmented data set from the NFD; for
 details on the DataSet, see
 <a href="http://redmine.named-data.net/projects/nfd/wiki/StatusDataset">http://redmine.named-data.net/projects/nfd/wiki/StatusDataset</a></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>forwarder</code> - </dd><dd><code>datasetName</code> - </dd>
<dt><span class="strong">Returns:</span></dt><dd></dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
<dd><code><a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></code></dd></dl>
</li>
</ul>
<a name="sendCommand(net.named_data.jndn.Face, net.named_data.jndn.Interest)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>sendCommand</h4>
<pre>public static&nbsp;<a href="../../../../com/intel/jndn/management/types/ControlResponse.html" title="class in com.intel.jndn.management.types">ControlResponse</a>&nbsp;sendCommand(net.named_data.jndn.Face&nbsp;forwarder,
                          net.named_data.jndn.Interest&nbsp;interest)
                                   throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                                          net.named_data.jndn.encoding.EncodingException,
                                          <a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></pre>
<div class="block">Send an interest as a command to the forwarder; this method will convert
 the interest to a command interest and block until a response is received
 from the forwarder. Ensure the forwarding face is on the local machine
 (management requests are to /localhost/...) and that command signing has
 been set up (e.g. forwarder.setCommandSigningInfo()).</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>forwarder</code> - only a localhost Face, command signing info must be set</dd><dd><code>interest</code> - As described at
 <a href="http://redmine.named-data.net/projects/nfd/wiki/ControlCommand,">http://redmine.named-data.net/projects/nfd/wiki/ControlCommand,</a>
 the requested interest must have encoded ControlParameters appended to the
 interest name</dd>
<dt><span class="strong">Returns:</span></dt><dd></dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
<dd><code>net.named_data.jndn.encoding.EncodingException</code></dd>
<dd><code><a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></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="../../../../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/NFD.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="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management"><span class="strong">Prev Class</span></a></li>
<li>Next Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?com/intel/jndn/management/NFD.html" target="_top">Frames</a></li>
<li><a href="NFD.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><a href="#field_summary">Field</a>&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><a href="#field_detail">Field</a>&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 ======= -->
<p class="legalCopy"><small>Copyright &#169; 2015. All rights reserved.</small></p>
</body>
</html>