NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.3: NDN, CCN, CCNx, content centric networks
API Documentation
face-status.hpp
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
22 #ifndef NDN_MGMT_NFD_FACE_STATUS_HPP
23 #define NDN_MGMT_NFD_FACE_STATUS_HPP
24 
25 #include "face-traits.hpp" // include this first, to ensure it compiles on its own.
26 #include "../../encoding/block.hpp"
27 #include "../../util/time.hpp"
28 
29 namespace ndn {
30 namespace nfd {
31 
37 class FaceStatus : public FaceTraits<FaceStatus>
38 {
39 public:
40  FaceStatus();
41 
42  explicit
43  FaceStatus(const Block& block);
44 
47  template<encoding::Tag TAG>
48  size_t
49  wireEncode(EncodingImpl<TAG>& encoder) const;
50 
53  const Block&
54  wireEncode() const;
55 
58  void
59  wireDecode(const Block& wire);
60 
61 public: // getters & setters
62  bool
64  {
65  return m_hasExpirationPeriod;
66  }
67 
68  const time::milliseconds&
70  {
71  BOOST_ASSERT(m_hasExpirationPeriod);
72  return m_expirationPeriod;
73  }
74 
75  FaceStatus&
76  setExpirationPeriod(const time::milliseconds& expirationPeriod);
77 
78  uint64_t
80  {
81  return m_nInInterests;
82  }
83 
84  FaceStatus&
85  setNInInterests(uint64_t nInInterests);
86 
87  uint64_t
88  getNInDatas() const
89  {
90  return m_nInDatas;
91  }
92 
93  FaceStatus&
94  setNInDatas(uint64_t nInDatas);
95 
96  uint64_t
97  getNInNacks() const
98  {
99  return m_nInNacks;
100  }
101 
102  FaceStatus&
103  setNInNacks(uint64_t nInNacks);
104 
105  uint64_t
107  {
108  return m_nOutInterests;
109  }
110 
111  FaceStatus&
112  setNOutInterests(uint64_t nOutInterests);
113 
114  uint64_t
115  getNOutDatas() const
116  {
117  return m_nOutDatas;
118  }
119 
120  FaceStatus&
121  setNOutDatas(uint64_t nOutDatas);
122 
123  uint64_t
124  getNOutNacks() const
125  {
126  return m_nOutNacks;
127  }
128 
129  FaceStatus&
130  setNOutNacks(uint64_t nOutNacks);
131 
132  uint64_t
133  getNInBytes() const
134  {
135  return m_nInBytes;
136  }
137 
138  FaceStatus&
139  setNInBytes(uint64_t nInBytes);
140 
141  uint64_t
142  getNOutBytes() const
143  {
144  return m_nOutBytes;
145  }
146 
147  FaceStatus&
148  setNOutBytes(uint64_t nOutBytes);
149 
150 protected:
151  void
152  wireReset() const;
153 
154 private:
155  time::milliseconds m_expirationPeriod;
156  bool m_hasExpirationPeriod;
157  uint64_t m_nInInterests;
158  uint64_t m_nInDatas;
159  uint64_t m_nInNacks;
160  uint64_t m_nOutInterests;
161  uint64_t m_nOutDatas;
162  uint64_t m_nOutNacks;
163  uint64_t m_nInBytes;
164  uint64_t m_nOutBytes;
165 
166  mutable Block m_wire;
167 };
168 
169 std::ostream&
170 operator<<(std::ostream& os, const FaceStatus& status);
171 
172 } // namespace nfd
173 } // namespace ndn
174 
175 #endif // NDN_MGMT_NFD_FACE_STATUS_HPP
void wireDecode(const Block &wire)
decode FaceStatus
uint64_t getNOutInterests() const
Copyright (c) 2011-2015 Regents of the University of California.
const time::milliseconds & getExpirationPeriod() const
Definition: face-status.hpp:69
FaceStatus & setNInDatas(uint64_t nInDatas)
bool hasExpirationPeriod() const
Definition: face-status.hpp:63
uint64_t getNOutNacks() const
uint64_t getNOutBytes() const
uint64_t getNInInterests() const
Definition: face-status.hpp:79
FaceStatus & setNOutDatas(uint64_t nOutDatas)
Class representing a wire element of NDN-TLV packet format.
Definition: block.hpp:43
FaceStatus & setNOutBytes(uint64_t nOutBytes)
FaceStatus & setNOutInterests(uint64_t nOutInterests)
FaceStatus & setNInInterests(uint64_t nInInterests)
uint64_t getNInBytes() const
FaceStatus & setNInBytes(uint64_t nInBytes)
FaceStatus & setNInNacks(uint64_t nInNacks)
void wireReset() const
Copyright (c) 2011-2015 Regents of the University of California.
Definition: ndn-common.hpp:40
FaceStatus & setExpirationPeriod(const time::milliseconds &expirationPeriod)
represents Face status
Definition: face-status.hpp:37
std::ostream & operator<<(std::ostream &os, FaceScope faceScope)
uint64_t getNOutDatas() const
uint64_t getNInDatas() const
Definition: face-status.hpp:88
FaceStatus & setNOutNacks(uint64_t nOutNacks)
providers getters and setters of face information fields
Definition: face-traits.hpp:36
const Block & wireEncode() const
encode FaceStatus
uint64_t getNInNacks() const
Definition: face-status.hpp:97