blob: 6c09eb0f30c7e11f94fc693a396509cce86bbc1a [file] [log] [blame]
akmhoque298385a2014-02-13 14:13: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
akmhoqueb1710aa2014-02-19 17:13:36 -06008namespace nlsr {
akmhoque298385a2014-02-13 14:13:09 -06009
10using namespace ndn;
11using namespace std;
12
akmhoque1a481092014-02-19 16:34:22 -060013class Nlsr;
akmhoque298385a2014-02-13 14:13:09 -060014
15class interestManager{
16public:
17 interestManager()
18 {
19 }
akmhoque1a481092014-02-19 16:34:22 -060020 void processInterest(Nlsr& pnlsr, const ndn::Name &name,
akmhoque298385a2014-02-13 14:13:09 -060021 const ndn::Interest &interest);
akmhoque1a481092014-02-19 16:34:22 -060022 void processInterestInfo(Nlsr& pnlsr, string& neighbor,
akmhoque298385a2014-02-13 14:13:09 -060023 const ndn::Interest &interest);
akmhoque1a481092014-02-19 16:34:22 -060024 void processInterestTimedOut(Nlsr& pnlsr, const ndn::Interest &interest);
25 void processInterestTimedOutInfo(Nlsr& pnlsr, string& neighbor,
akmhoque298385a2014-02-13 14:13:09 -060026 const ndn::Interest &interest);
akmhoque1a481092014-02-19 16:34:22 -060027 void expressInterest(Nlsr& pnlsr,const string& interestNamePrefix, int scope,
akmhoque298385a2014-02-13 14:13:09 -060028 int seconds);
akmhoque1a481092014-02-19 16:34:22 -060029 void sendScheduledInfoInterest(Nlsr& pnlsr, int seconds);
30 void scheduleInfoInterest(Nlsr& pnlsr, int seconds);
akmhoque298385a2014-02-13 14:13:09 -060031
32private:
33
34
35};
36
akmhoqueb1710aa2014-02-19 17:13:36 -060037}//namespace nlsr
akmhoque298385a2014-02-13 14:13:09 -060038
39#endif