fib-manager.hpp
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
26 #ifndef NFD_DAEMON_MGMT_FIB_MANAGER_HPP
27 #define NFD_DAEMON_MGMT_FIB_MANAGER_HPP
28 
29 #include "nfd-manager-base.hpp"
30 #include "core/logger.hpp"
31 #include "table/fib.hpp"
32 #include "fw/forwarder.hpp"
33 
34 namespace nfd {
35 
36 class FaceTable;
37 
42 class FibManager : public NfdManagerBase
43 {
44 public:
45  FibManager(Fib& fib,
46  const FaceTable& faceTable,
47  Dispatcher& dispatcher,
48  CommandAuthenticator& authenticator);
49 
50 private:
51  void
52  addNextHop(const Name& topPrefix, const Interest& interest,
53  ControlParameters parameters,
54  const ndn::mgmt::CommandContinuation& done);
55 
56  void
57  removeNextHop(const Name& topPrefix, const Interest& interest,
58  ControlParameters parameters,
59  const ndn::mgmt::CommandContinuation& done);
60 
61  void
62  listEntries(const Name& topPrefix, const Interest& interest,
63  ndn::mgmt::StatusDatasetContext& context);
64 
65 private:
66  void
67  setFaceForSelfRegistration(const Interest& request, ControlParameters& parameters);
68 
69 private:
70  Fib& m_fib;
71  const FaceTable& m_faceTable;
72 };
73 
74 } // namespace nfd
75 
76 #endif // NFD_DAEMON_MGMT_FIB_MANAGER_HPP
container of all faces
Definition: face-table.hpp:37
implement the FIB Management of NFD Management Protocol.
Definition: fib-manager.hpp:42
provides ControlCommand authorization according to NFD configuration file
Copyright (c) 2014-2015, Regents of the University of California, Arizona Board of Regents...
Definition: algorithm.hpp:32
FibManager(Fib &fib, const FaceTable &faceTable, Dispatcher &dispatcher, CommandAuthenticator &authenticator)
Definition: fib-manager.cpp:38
a collection of common functions shared by all NFD managers, such as communicating with the dispatche...