Como você codificar um Map usando o protocolo buffers?
-
12-09-2019 - |
Pergunta
Eu estou tentando usar Protocol Buffers para a mensagem de serialização.
Meu formato de mensagem deve conter Map
Tanto quanto eu sei, Protocol Buffers não tem uma build-in tipo de mapa. Eu poderia modelar em torno de que o uso de campos de repetição. Mas o grande problema que tenho é que você precisa para definir todos os seus tipos. Quero que a minha mensagem para ser flexível, de modo que não pode especificar os tipos.
Todas as idéias?
Solução
Eu modelar uma tupla com uma chave e um valor (provavelmente um campo de valor por tipo que o valor poderia ser). Em seguida, basta ter uma lista repetida de que tipo tupla. Você precisaria construir o próprio mapa no código.
Quando você diz que você não pode especificar os tipos - que tipo de tipos que você está falando? Se você tem um campo opcional de cada tipo da tupla, então que lidaria para todos os primitivos -. E você pode mapear mensagens, serialização-los em um byte string
Parece que o nível de "desestruturação" você tem não pode ser um bom ajuste para PB embora.