blob: 330874f3a02e57034916cda0f0ecf66bcace2f57 [file] [log] [blame]
akmhoqueba094742014-02-28 11:47:21 -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
8namespace nlsr
9{
10
11 using namespace ndn;
12 using namespace std;
13
14 class Nlsr;
15
16 class interestManager
17 {
18 public:
19 interestManager()
20 {
21 }
22 void processInterest(Nlsr& pnlsr, const ndn::Name &name,
23 const ndn::Interest &interest);
24 void processInterestInfo(Nlsr& pnlsr, string& neighbor,
25 const ndn::Interest &interest);
26 void processInterestLsa(Nlsr& pnlsr,const ndn::Interest &interest);
27 void processInterestForNameLsa(Nlsr& pnlsr, const ndn::Interest &interest,
28 string lsaKey, uint32_t interestedlsSeqNo);
29 void processInterestForAdjLsa(Nlsr& pnlsr, const ndn::Interest &interest,
30 string lsaKey, uint32_t interestedlsSeqNo);
31 void processInterestForCorLsa(Nlsr& pnlsr, const ndn::Interest &interest,
32 string lsaKey, uint32_t interestedlsSeqNo);
33
34 void processInterestKeys(Nlsr& pnlsr,const ndn::Interest &interest);
35
36 void processInterestTimedOut(Nlsr& pnlsr, const ndn::Interest &interest);
37 void processInterestTimedOutInfo(Nlsr& pnlsr, string& neighbor,
38 const ndn::Interest &interest);
39 void processInterestTimedOutLsa(Nlsr& pnlsr,const ndn::Interest &interest);
40 void expressInterest(Nlsr& pnlsr,const string& interestNamePrefix, int scope,
41 int seconds);
42 void sendScheduledInfoInterest(Nlsr& pnlsr, int seconds);
43 void scheduleInfoInterest(Nlsr& pnlsr, int seconds);
44
45 private:
46
47
48 };
49
50}//namespace nlsr
51
52#endif