MCPcopy Create free account
hub / github.com/apache/mesos / foreach

Function foreach

src/common/http.cpp:224–424  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

222 }
223
224 foreach (const FieldDescriptor* field, fields) {
225 if (field->is_repeated() && !field->is_map()) {
226 writer->field(
227 lowerSlaveToAgent(field->name()),
228 [&field, &reflection, &message](JSON::ArrayWriter* writer) {
229 int fieldSize = reflection->FieldSize(message, field);
230 for (int i = 0; i < fieldSize; ++i) {
231 switch (field->cpp_type()) {
232 case FieldDescriptor::CPPTYPE_BOOL:
233 writer->element(
234 reflection->GetRepeatedBool(message, field, i));
235 break;
236 case FieldDescriptor::CPPTYPE_INT32:
237 writer->element(
238 reflection->GetRepeatedInt32(message, field, i));
239 break;
240 case FieldDescriptor::CPPTYPE_INT64:
241 writer->element(
242 reflection->GetRepeatedInt64(message, field, i));
243 break;
244 case FieldDescriptor::CPPTYPE_UINT32:
245 writer->element(
246 reflection->GetRepeatedUInt32(message, field, i));
247 break;
248 case FieldDescriptor::CPPTYPE_UINT64:
249 writer->element(
250 reflection->GetRepeatedUInt64(message, field, i));
251 break;
252 case FieldDescriptor::CPPTYPE_FLOAT:
253 writer->element(
254 reflection->GetRepeatedFloat(message, field, i));
255 break;
256 case FieldDescriptor::CPPTYPE_DOUBLE:
257 writer->element(
258 reflection->GetRepeatedDouble(message, field, i));
259 break;
260 case FieldDescriptor::CPPTYPE_MESSAGE:
261 writer->element(
262 asV1Protobuf(
263 reflection->GetRepeatedMessage(message, field, i)));
264 break;
265 case FieldDescriptor::CPPTYPE_ENUM:
266 writer->element(
267 upperSlaveToAgent(
268 reflection->GetRepeatedEnum(message, field, i)
269 ->name()));
270 break;
271 case FieldDescriptor::CPPTYPE_STRING:
272 const std::string& s = reflection->GetRepeatedStringReference(
273 message, field, i, nullptr);
274 if (field->type() == FieldDescriptor::TYPE_BYTES) {
275 writer->element(base64::encode(s));
276 } else {
277 writer->element(s);
278 }
279 break;
280 }
281 }

Callers

nothing calls this directly

Calls 15

lowerSlaveToAgentFunction · 0.85
asV1ProtobufClass · 0.85
upperSlaveToAgentFunction · 0.85
jsonifyFunction · 0.85
protobufFunction · 0.85
ProtobufClass · 0.85
NoneClass · 0.85
createBasicAuthenticatorFunction · 0.85
createJWTAuthenticatorFunction · 0.85
fieldMethod · 0.80
elementMethod · 0.80

Tested by

no test coverage detected