|
26 | 26 |
|
27 | 27 | namespace ndn::nfd {
|
28 | 28 |
|
29 |
| -ControlParameters::ControlParameters() |
30 |
| - : m_hasFields(CONTROL_PARAMETER_UBOUND) |
31 |
| -{ |
32 |
| -} |
| 29 | +static_assert(CONTROL_PARAMETER_FIELD.size() == CONTROL_PARAMETER_UBOUND); |
| 30 | + |
| 31 | +ControlParameters::ControlParameters() = default; |
33 | 32 |
|
34 | 33 | ControlParameters::ControlParameters(const Block& block)
|
35 |
| - : m_hasFields(CONTROL_PARAMETER_UBOUND) |
36 | 34 | {
|
37 | 35 | wireDecode(block);
|
38 | 36 | }
|
@@ -132,71 +130,71 @@ ControlParameters::wireDecode(const Block& block)
|
132 | 130 | for (const auto& e : m_wire.elements()) {
|
133 | 131 | switch (e.type()) {
|
134 | 132 | case tlv::Name:
|
135 |
| - m_hasFields[CONTROL_PARAMETER_NAME] = true; |
| 133 | + m_hasFields.set(CONTROL_PARAMETER_NAME); |
136 | 134 | m_name.wireDecode(e);
|
137 | 135 | break;
|
138 | 136 | case tlv::nfd::FaceId:
|
139 |
| - m_hasFields[CONTROL_PARAMETER_FACE_ID] = true; |
| 137 | + m_hasFields.set(CONTROL_PARAMETER_FACE_ID); |
140 | 138 | m_faceId = readNonNegativeInteger(e);
|
141 | 139 | break;
|
142 | 140 | case tlv::nfd::Uri:
|
143 |
| - m_hasFields[CONTROL_PARAMETER_URI] = true; |
| 141 | + m_hasFields.set(CONTROL_PARAMETER_URI); |
144 | 142 | m_uri = readString(e);
|
145 | 143 | break;
|
146 | 144 | case tlv::nfd::LocalUri:
|
147 |
| - m_hasFields[CONTROL_PARAMETER_LOCAL_URI] = true; |
| 145 | + m_hasFields.set(CONTROL_PARAMETER_LOCAL_URI); |
148 | 146 | m_localUri = readString(e);
|
149 | 147 | break;
|
150 | 148 | case tlv::nfd::Origin:
|
151 |
| - m_hasFields[CONTROL_PARAMETER_ORIGIN] = true; |
| 149 | + m_hasFields.set(CONTROL_PARAMETER_ORIGIN); |
152 | 150 | m_origin = readNonNegativeIntegerAs<RouteOrigin>(e);
|
153 | 151 | break;
|
154 | 152 | case tlv::nfd::Cost:
|
155 |
| - m_hasFields[CONTROL_PARAMETER_COST] = true; |
| 153 | + m_hasFields.set(CONTROL_PARAMETER_COST); |
156 | 154 | m_cost = readNonNegativeInteger(e);
|
157 | 155 | break;
|
158 | 156 | case tlv::nfd::Capacity:
|
159 |
| - m_hasFields[CONTROL_PARAMETER_CAPACITY] = true; |
| 157 | + m_hasFields.set(CONTROL_PARAMETER_CAPACITY); |
160 | 158 | m_capacity = readNonNegativeInteger(e);
|
161 | 159 | break;
|
162 | 160 | case tlv::nfd::Count:
|
163 |
| - m_hasFields[CONTROL_PARAMETER_COUNT] = true; |
| 161 | + m_hasFields.set(CONTROL_PARAMETER_COUNT); |
164 | 162 | m_count = readNonNegativeInteger(e);
|
165 | 163 | break;
|
166 | 164 | case tlv::nfd::Flags:
|
167 |
| - m_hasFields[CONTROL_PARAMETER_FLAGS] = true; |
| 165 | + m_hasFields.set(CONTROL_PARAMETER_FLAGS); |
168 | 166 | m_flags = readNonNegativeInteger(e);
|
169 | 167 | break;
|
170 | 168 | case tlv::nfd::Mask:
|
171 |
| - m_hasFields[CONTROL_PARAMETER_MASK] = true; |
| 169 | + m_hasFields.set(CONTROL_PARAMETER_MASK); |
172 | 170 | m_mask = readNonNegativeInteger(e);
|
173 | 171 | break;
|
174 | 172 | case tlv::nfd::Strategy:
|
175 |
| - m_hasFields[CONTROL_PARAMETER_STRATEGY] = true; |
| 173 | + m_hasFields.set(CONTROL_PARAMETER_STRATEGY); |
176 | 174 | e.parse();
|
177 | 175 | if (e.elements().empty()) {
|
178 | 176 | NDN_THROW(Error("Expecting Strategy.Name"));
|
179 | 177 | }
|
180 | 178 | m_strategy.wireDecode(e.elements().front());
|
181 | 179 | break;
|
182 | 180 | case tlv::nfd::ExpirationPeriod:
|
183 |
| - m_hasFields[CONTROL_PARAMETER_EXPIRATION_PERIOD] = true; |
| 181 | + m_hasFields.set(CONTROL_PARAMETER_EXPIRATION_PERIOD); |
184 | 182 | m_expirationPeriod = time::milliseconds(readNonNegativeInteger(e));
|
185 | 183 | break;
|
186 | 184 | case tlv::nfd::FacePersistency:
|
187 |
| - m_hasFields[CONTROL_PARAMETER_FACE_PERSISTENCY] = true; |
| 185 | + m_hasFields.set(CONTROL_PARAMETER_FACE_PERSISTENCY); |
188 | 186 | m_facePersistency = readNonNegativeIntegerAs<FacePersistency>(e);
|
189 | 187 | break;
|
190 | 188 | case tlv::nfd::BaseCongestionMarkingInterval:
|
191 |
| - m_hasFields[CONTROL_PARAMETER_BASE_CONGESTION_MARKING_INTERVAL] = true; |
| 189 | + m_hasFields.set(CONTROL_PARAMETER_BASE_CONGESTION_MARKING_INTERVAL); |
192 | 190 | m_baseCongestionMarkingInterval = time::nanoseconds(readNonNegativeInteger(e));
|
193 | 191 | break;
|
194 | 192 | case tlv::nfd::DefaultCongestionThreshold:
|
195 |
| - m_hasFields[CONTROL_PARAMETER_DEFAULT_CONGESTION_THRESHOLD] = true; |
| 193 | + m_hasFields.set(CONTROL_PARAMETER_DEFAULT_CONGESTION_THRESHOLD); |
196 | 194 | m_defaultCongestionThreshold = readNonNegativeInteger(e);
|
197 | 195 | break;
|
198 | 196 | case tlv::nfd::Mtu:
|
199 |
| - m_hasFields[CONTROL_PARAMETER_MTU] = true; |
| 197 | + m_hasFields.set(CONTROL_PARAMETER_MTU); |
200 | 198 | m_mtu = readNonNegativeInteger(e);
|
201 | 199 | break;
|
202 | 200 | default:
|
@@ -235,7 +233,7 @@ ControlParameters::getFlagBit(size_t bit) const
|
235 | 233 | }
|
236 | 234 |
|
237 | 235 | ControlParameters&
|
238 |
| -ControlParameters::setFlagBit(size_t bit, bool value, bool wantMask/* = true*/) |
| 236 | +ControlParameters::setFlagBit(size_t bit, bool value, bool wantMask) |
239 | 237 | {
|
240 | 238 | if (bit >= 64) {
|
241 | 239 | NDN_THROW(std::out_of_range("bit must be within range [0, 64)"));
|
|
0 commit comments