blob: de6ba74fd27e1770f1094a2f910d88d455440aa7 [file] [log] [blame]
akmhoque95b7c8c2014-01-31 15:53:09 -06001#ifndef NLSR_IM_HPP
2#define NLSR_IM_HPP
3
4#include <ndn-cpp-dev/face.hpp>
5#include <ndn-cpp-dev/security/key-chain.hpp>
6#include <ndn-cpp-dev/util/scheduler.hpp>
7
8
9using namespace ndn;
10using namespace std;
11
12class nlsr;
13
14class interestManager{
15public:
16 interestManager()
17 {
18 }
19 void processInterest(nlsr& pnlsr, const ptr_lib::shared_ptr<const Name> &name,
20 const ptr_lib::shared_ptr<const Interest> &interest);
akmhoquea8cd6b92014-01-31 20:13:26 -060021 void processInterestInfo(nlsr& pnlsr, string& neighbor,
22 const ptr_lib::shared_ptr<const Interest> &interest);
akmhoque95b7c8c2014-01-31 15:53:09 -060023 void processInterestTimedOut(nlsr& pnlsr,
24 const ndn::ptr_lib::shared_ptr<const ndn::Interest> &interest);
akmhoquea8cd6b92014-01-31 20:13:26 -060025 void processInterestTimedOutInfo(nlsr& pnlsr, string& neighbor,
26 const ndn::ptr_lib::shared_ptr<const ndn::Interest> &interest);
akmhoque95b7c8c2014-01-31 15:53:09 -060027 void expressInterest(nlsr& pnlsr,const string& interestNamePrefix, int scope,
28 int seconds);
29 void sendScheduledInfoInterest(nlsr& pnlsr, int seconds);
30 void scheduleInfoInterest(nlsr& pnlsr, int seconds);
31
32private:
33
34
35};
36
37
38#endif