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  uint64_t
151  getFlags() const
152  {
153  return m_flags;
154  }
155 
156  FaceStatus&
157  setFlags(uint64_t flags);
158 
159  bool
160  getFlagBit(size_t bit) const;
161 
162  FaceStatus&
163  setFlagBit(size_t bit, bool value);
164 
165 protected:
166  void
167  wireReset() const;
168 
169 private:
170  time::milliseconds m_expirationPeriod;
171  bool m_hasExpirationPeriod;
172  uint64_t m_nInInterests;
173  uint64_t m_nInDatas;
174  uint64_t m_nInNacks;
175  uint64_t m_nOutInterests;
176  uint64_t m_nOutDatas;
177  uint64_t m_nOutNacks;
178  uint64_t m_nInBytes;
179  uint64_t m_nOutBytes;
180  uint64_t m_flags;
181 
182  mutable Block m_wire;
183 };
184 
185 std::ostream&
186 operator<<(std::ostream& os, const FaceStatus& status);
187 
188 } // namespace nfd
189 } // namespace ndn
190 
191 #endif // NDN_MGMT_NFD_FACE_STATUS_HPP
uint64_t getNInNacks() const
Definition: face-status.hpp:97
void wireDecode(const Block &wire)
decode FaceStatus
Copyright (c) 2013-2016 Regents of the University of California.
Definition: common.hpp:74
FaceStatus & setNInDatas(uint64_t nInDatas)
bool hasExpirationPeriod() const
Definition: face-status.hpp:63
uint64_t getFlags() const
void wireReset() const
uint64_t getNInDatas() const
Definition: face-status.hpp:88
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)
FaceStatus & setNInBytes(uint64_t nInBytes)
uint64_t getNInInterests() const
Definition: face-status.hpp:79
FaceStatus & setNInNacks(uint64_t nInNacks)
FaceStatus & setExpirationPeriod(const time::milliseconds &expirationPeriod)
bool getFlagBit(size_t bit) const
FaceStatus & setFlagBit(size_t bit, bool value)
represents Face status
Definition: face-status.hpp:37
std::ostream & operator<<(std::ostream &os, FaceScope faceScope)
uint64_t getNOutBytes() const
uint64_t getNOutInterests() const
FaceStatus & setFlags(uint64_t flags)
const time::milliseconds & getExpirationPeriod() const
Definition: face-status.hpp:69
FaceStatus & setNOutNacks(uint64_t nOutNacks)
uint64_t getNInBytes() const
providers getters and setters of face information fields
Definition: face-traits.hpp:36
uint64_t getNOutDatas() const
const Block & wireEncode() const
encode FaceStatus
uint64_t getNOutNacks() const