Outils pour utilisateurs

Outils du site


prog:protobuf

Ceci est une ancienne révision du document !


Protocol Buffers

Le format de base est simple. Language Guide | Protocol Buffers

Ici, on crée deux messages AddSubscriber et RemoveSubscriber pour le pattern publisher. Dans chaque message, chaque champ doit avoir un identifiant numéraire.

<note tip>Les identifiants entre 1 et 15 occupent un bit de moins que les autres. Ils sont à privilégier pour les champs répétées.</note>

syntax = "proto3";

package llgc.protobuf.pattern.publisher;

message AddSubscriber
{
  uint32 id_message = 1;
}

message RemoveSubscriber
{
  uint32 id_message = 1;
}

Il est possible de créer des structures plus complexes avec des sous niveaux et d'importer les messages d'autres fichiers.

syntax = "proto3";

import "pattern_publisher.proto";

package llgc.protobuf.test;

message Tcp
{
  message Msg
  {
    message Test
    {
    }

    oneof data
    {
      llgc.protobuf.pattern.publisher.AddSubscriber add_subscriber = 1;
      llgc.protobuf.pattern.publisher.RemoveSubscriber remove_subscriber = 2;
      Test test = 3;
    }
  }

  repeated Msg msg = 1;
}

<note important>Il convient de respecter une règle : ne jamais changer l'identifiant d'un champ. Si ce champ ne sert plus, ajouter </note>

prog/protobuf.1534594917.txt.gz · Dernière modification : 2018/08/18 14:21 de root