function ProtobufSerializer::traverseFieldDescriptor
1 call to ProtobufSerializer::traverseFieldDescriptor()
- ProtobufSerializer::traverseDescriptor in vendor/
open-telemetry/ exporter-otlp/ ProtobufSerializer.php
File
-
vendor/
open-telemetry/ exporter-otlp/ ProtobufSerializer.php, line 138
Class
- ProtobufSerializer
- @internal @psalm-type SUPPORTED_CONTENT_TYPES = ContentTypes::PROTOBUF|ContentTypes::JSON|ContentTypes::NDJSON
Namespace
OpenTelemetry\Contrib\OtlpCode
private static function traverseFieldDescriptor($data, FieldDescriptor $field) {
switch ($field->getType()) {
case GPBType::MESSAGE:
self::traverseDescriptor($data, $field->getMessageType());
break;
case GPBType::ENUM:
$enum = $field->getEnumType();
for ($i = 0, $n = $enum->getValueCount(); $i < $n; $i++) {
if ($data === $enum->getValue($i)
->getName()) {
return $enum->getValue($i)
->getNumber();
}
}
break;
}
return $data;
}