blob: d37dbb68cd3511edf2a42f95747a19ebe63abfb4 [file] [log] [blame]
<?xml version = "1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"DTD/xhtml1-strict.dtd">
<!--
See COPYING for copyright and distribution information.
-->
<html xmlns = "http://www.w3.org/1999/xhtml">
<meta charset="UTF-8"/>
<head>
<title>NDN PIT Matching</title>
<script type="text/javascript" src="../build/ndn-js.js"></script>
<script type="text/javascript">
var ndn = new NDN({verify:false});
var AsyncGetClosure = function AsyncGetClosure(target) {
// Inherit from Closure.
Closure.call(this);
this.target = target;
};
AsyncGetClosure.prototype.upcall = function(kind, upcallInfo) {
if (kind == Closure.UPCALL_CONTENT || kind == Closure.UPCALL_CONTENT_UNVERIFIED) {
document.getElementById(this.target).innerHTML =
DataUtils.toString(upcallInfo.contentObject.content);
return Closure.RESULT_OK;
}
else
return Closure.RESULT_ERR;
};
var name = new Name("/ndn/ucla.edu/apps/ndn-js-test/hello.txt");
var interestSelector1 = new Interest();
interestSelector1.interestLifetime = 10000;
interestSelector1.minSuffixComponents = 3;
interestSelector1.maxSuffixComponents = 3;
var interestSelector2 = new Interest();
interestSelector2.interestLifetime = 10000;
interestSelector2.minSuffixComponents = 4;
interestSelector2.maxSuffixComponents = 4;
var interestSelector3 = new Interest();
interestSelector3.interestLifetime = 10000;
interestSelector3.exclude = new Exclude([Exclude.ANY, DataUtils.toNumbersFromString("zzzzzz")]);
var interestSelector4 = new Interest();
interestSelector4.interestLifetime = 10000;
interestSelector4.exclude = new Exclude([DataUtils.toNumbersFromString("zzzzzz"), Exclude.ANY]);
function run() {
ndn.onopen = function() {
for (var i = 0; i < 10; ++i) {
// "col1Content0" is already fetched.
if (i != 0)
ndn.expressInterest(name, new AsyncGetClosure("col1Content" + i), interestSelector1);
ndn.expressInterest(name, new AsyncGetClosure("col2Content" + i), interestSelector2);
ndn.expressInterest(name, new AsyncGetClosure("col3Content" + i), interestSelector3);
ndn.expressInterest(name, new AsyncGetClosure("col4Content" + i), interestSelector4);
}
// For testing, make sure we don't just process in the order returned.
DataUtils.shuffle(NDN.PITTable);
};
ndn.expressInterest(name, new AsyncGetClosure("col1Content0"), interestSelector1);
}
</script>
</head>
<body >
<button id="runBtn" onclick="run()">Run</button>
<table style="text-align: left;" border="1" cellpadding="2" cellspacing="0">
<tbody>
<tr>
<td style="vertical-align: top;">minSuffixComponents=3,<br/>maxSuffixComponents=3<br/>should be:<br/>
hello</td>
<td style="vertical-align: top;">minSuffixComponents=4,<br/>maxSuffixComponents=4<br/>should be:<br/>
hello world</td>
<td style="vertical-align: top;">exclude=*,zzzzzz<br/><br/>should be:<br/>hello</td>
<td style="vertical-align: top;">exclude=zzzzzz,*<br/><br/>should be:<br/>hello world</td>
</tr>
<tr>
<td style="vertical-align: top;"><div id="col1Content0"/></td>
<td style="vertical-align: top;"><div id="col2Content0"/></td>
<td style="vertical-align: top;"><div id="col3Content0"/></td>
<td style="vertical-align: top;"><div id="col4Content0"/></td>
</tr>
<tr>
<td style="vertical-align: top;"><div id="col1Content1"/></td>
<td style="vertical-align: top;"><div id="col2Content1"/></td>
<td style="vertical-align: top;"><div id="col3Content1"/></td>
<td style="vertical-align: top;"><div id="col4Content1"/></td>
</tr>
<tr>
<td style="vertical-align: top;"><div id="col1Content2"/></td>
<td style="vertical-align: top;"><div id="col2Content2"/></td>
<td style="vertical-align: top;"><div id="col3Content2"/></td>
<td style="vertical-align: top;"><div id="col4Content2"/></td>
</tr>
<tr>
<td style="vertical-align: top;"><div id="col1Content3"/></td>
<td style="vertical-align: top;"><div id="col2Content3"/></td>
<td style="vertical-align: top;"><div id="col3Content3"/></td>
<td style="vertical-align: top;"><div id="col4Content3"/></td>
</tr>
<tr>
<td style="vertical-align: top;"><div id="col1Content4"/></td>
<td style="vertical-align: top;"><div id="col2Content4"/></td>
<td style="vertical-align: top;"><div id="col3Content4"/></td>
<td style="vertical-align: top;"><div id="col4Content4"/></td>
</tr>
<tr>
<td style="vertical-align: top;"><div id="col1Content5"/></td>
<td style="vertical-align: top;"><div id="col2Content5"/></td>
<td style="vertical-align: top;"><div id="col3Content5"/></td>
<td style="vertical-align: top;"><div id="col4Content5"/></td>
</tr>
<tr>
<td style="vertical-align: top;"><div id="col1Content6"/></td>
<td style="vertical-align: top;"><div id="col2Content6"/></td>
<td style="vertical-align: top;"><div id="col3Content6"/></td>
<td style="vertical-align: top;"><div id="col4Content6"/></td>
</tr>
<tr>
<td style="vertical-align: top;"><div id="col1Content7"/></td>
<td style="vertical-align: top;"><div id="col2Content7"/></td>
<td style="vertical-align: top;"><div id="col3Content7"/></td>
<td style="vertical-align: top;"><div id="col4Content7"/></td>
</tr>
<tr>
<td style="vertical-align: top;"><div id="col1Content8"/></td>
<td style="vertical-align: top;"><div id="col2Content8"/></td>
<td style="vertical-align: top;"><div id="col3Content8"/></td>
<td style="vertical-align: top;"><div id="col4Content8"/></td>
</tr>
<tr>
<td style="vertical-align: top;"><div id="col1Content9"/></td>
<td style="vertical-align: top;"><div id="col2Content9"/></td>
<td style="vertical-align: top;"><div id="col3Content9"/></td>
<td style="vertical-align: top;"><div id="col4Content9"/></td>
</tr>
</tbody>
</table>
</body>
</html>