Sto provando ad inviare dati protobuf da lato cpp a lato java.Come determinare il tipo di messaggio in protobuf in modo che possa usare quel tipo.parsefrom (byte [])
ho più tipi di messaggi definiti nel Proto
Sul lato Cpp, ho enumerazioni per ogni tipo di messaggio e sto aggiungendo che all'uscita buf come segue:
uint8_t* __temp = (uint8_t*)(buf);
*__temp++ = (type) >> 8;
*__temp = (type) & 0x00FF;
Come faccio ottenere questo 'tipo' che ho aggiunto al buf, in modo che io possa ottenere qualcosa come
MessageType parseFrom(byte[] data);
Grazie, questo è più o meno quello che sto guardando - sembra anche che io possa farlo in questo modo - https://developers.google.com/protocol-buffers/docs/techniques#union –
@ android.developer Questa documentazione è obsoleta; precede l'introduzione di 'oneof'. Se stai usando protobuf 2.6 o più recente, dovresti assolutamente usare 'oneof'. Ho presentato un bug per le persone protobuf per aggiornare i documenti. https://github.com/google/protobuf/issues/452 –
Grazie, userà 'oneof' quindi –