Update processEvents to check for timeout. Make PitEntry take a const Interest pointer.
diff --git a/tests/test-get-async.cpp b/tests/test-get-async.cpp
index 94f3455..692ed36 100644
--- a/tests/test-get-async.cpp
+++ b/tests/test-get-async.cpp
@@ -17,14 +17,14 @@
class MyClosure : public Closure {
public:
MyClosure()
- : gotContentCount_(0)
+ : gotCallbackCount_(0)
{
}
- virtual UpcallResult upcall(UpcallKind kind, UpcallInfo &upcallInfo)
+ virtual UpcallResult upcall(UpcallKind kind, const UpcallInfo &upcallInfo)
{
if (kind == UPCALL_DATA || kind == UPCALL_DATA_UNVERIFIED) {
- ++gotContentCount_;
+ ++gotCallbackCount_;
cout << "Got data packet with name " << upcallInfo.getData()->getName().to_uri() << endl;
for (unsigned int i = 0; i < upcallInfo.getData()->getContent().size(); ++i)
cout << upcallInfo.getData()->getContent()[i];
@@ -32,11 +32,16 @@
return CLOSURE_RESULT_OK;
}
+ else if (kind == UPCALL_INTEREST_TIMED_OUT) {
+ ++gotCallbackCount_;
+ cout << "Time out for interest " << upcallInfo.getInterest()->getName().toUri() << endl;
+ return CLOSURE_RESULT_OK;
+ }
else
return CLOSURE_RESULT_OK;
}
- int gotContentCount_;
+ int gotCallbackCount_;
};
int main(int argc, char** argv)
@@ -48,14 +53,12 @@
Name name1("/ndn/ucla.edu/apps/ndn-js-test/hello.txt/level2/%FD%05%0B%16%7D%95%0E");
cout << "Express name " << name1.toUri() << endl;
face.expressInterest(name1, &closure);
-#if 0
Name name2("/ndn/ucla.edu/apps/lwndn-test/howdy.txt/%FD%05%05%E8%0C%CE%1D");
cout << "Express name " << name2.toUri() << endl;
face.expressInterest(name2, &closure);
-#endif
// The main event loop.
- while (closure.gotContentCount_ < 1) {
+ while (closure.gotCallbackCount_ < 2) {
face.processEvents();
// We need to sleep for a few milliseconds so we don't use 100% of the CPU.
usleep(10000);