in crumb-compiler/src/main/kotlin/com/uber/crumb/internal/model/CrumbMetadata.kt [98:113]
override fun decode(reader: ProtoReader): CrumbMetadata {
var extensionKey: String? = null
val producerMetadata = mutableMapOf<String, String>()
val unknownFields = reader.forEachTag { tag ->
when (tag) {
1 -> extensionKey = ProtoAdapter.STRING.decode(reader)
2 -> producerMetadata.putAll(producerMetadataAdapter.decode(reader))
else -> reader.readUnknownField(tag)
}
}
return CrumbMetadata(
extensionKey = extensionKey ?: throw missingRequiredFields(extensionKey, "extensionKey"),
producerMetadata = producerMetadata,
unknownFields = unknownFields
)
}