Protomódulo

Un módulo para el procesamiento de mensajes de protocolo.

Miembros

encode_text

string ProtoModule.encode_text(x)

Muestra la codificación del argumento de struct como un mensaje de protocolo en formato de texto. La estructura de datos debe estar compuesta de manera recursiva por strings, números enteros, números de punto flotante o bools, o bien structs, secuencias y diccionarios de estos tipos.

Un struct se convierte en un mensaje. Los campos se emiten en orden de nombre.

Una secuencia (como una lista o tupla) se convierte en un campo repetido. Sus elementos no deben ser secuencias ni diccionarios.

Un dict se convierte en un campo repetido de mensajes con campos llamados "key". y 'value'. Las entradas se emiten en orden de iteración (inserción). Las claves del dict deben ser cadenas, ints o bools, y sus valores no deben ser secuencias ni dict. Ejemplos:

struct(field=123).to_proto()
# field: 123

struct(field=True).to_proto()
# field: true

struct(field=[1, 2, 3]).to_proto()
# field: 1
# field: 2
# field: 3

struct(field='text').to_proto()
# field: "text"

struct(field=struct(inner_field='text')).to_proto()
# field {
#   inner_field: "text"
# }

struct(field=[struct(inner_field=1), struct(inner_field=2)]).to_proto()
# field {
#   inner_field: 1
# }
# field {
#   inner_field: 2
# }

struct(field=struct(inner_field=struct(inner_inner_field='text'))).to_proto()
# field {
#    inner_field {
#     inner_inner_field: "text"
#   }
# }

struct(foo={4: 3, 2: 1}).to_proto()
# foo: {
#   key: 4
#   value: 3
# }
# foo: {
#   key: 2
#   value: 1
# }

Parámetros

Parámetro Descripción
x obligatorio