Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. ProtobufSerializer.php

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\Otlp

Code

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;
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal