blob: 5e2f6c4ccebec888fad77477a898a252dd69b452 [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
8
9using namespace ndn;
10using namespace std;
11
akmhoque1a481092014-02-19 16:34:22 -060012class Nlsr;
akmhoque298385a2014-02-13 14:13:09 -060013
14class interestManager{
15public:
16 interestManager()
17 {
18 }
akmhoque1a481092014-02-19 16:34:22 -060019 void processInterest(Nlsr& pnlsr, const ndn::Name &name,
akmhoque298385a2014-02-13 14:13:09 -060020 const ndn::Interest &interest);
akmhoque1a481092014-02-19 16:34:22 -060021 void processInterestInfo(Nlsr& pnlsr, string& neighbor,
akmhoque298385a2014-02-13 14:13:09 -060022 const ndn::Interest &interest);
akmhoque1a481092014-02-19 16:34:22 -060023 void processInterestTimedOut(Nlsr& pnlsr, const ndn::Interest &interest);
24 void processInterestTimedOutInfo(Nlsr& pnlsr, string& neighbor,
akmhoque298385a2014-02-13 14:13:09 -060025 const ndn::Interest &interest);
akmhoque1a481092014-02-19 16:34:22 -060026 void expressInterest(Nlsr& pnlsr,const string& interestNamePrefix, int scope,
akmhoque298385a2014-02-13 14:13:09 -060027 int seconds);
akmhoque1a481092014-02-19 16:34:22 -060028 void sendScheduledInfoInterest(Nlsr& pnlsr, int seconds);
29 void scheduleInfoInterest(Nlsr& pnlsr, int seconds);
akmhoque298385a2014-02-13 14:13:09 -060030
31private:
32
33
34};
35
36
37#endif