Difference between revisions of "Protobuf notes"

From Wiki at Neela Nurseries
Jump to: navigation, search
m
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
+
Protobuf references, somewhat arbitrary starting point yet introduces some key topics of Protobuf standard and use cases:
  
 
*  https://www.crankuptheamps.com/blog/posts/2017/10/12/protobuf-battle-of-the-syntaxes/
 
*  https://www.crankuptheamps.com/blog/posts/2017/10/12/protobuf-battle-of-the-syntaxes/
 
*  https://www.educative.io/edpresso/what-is-the-difference-between-protocol-buffers-and-json
 
*  https://www.educative.io/edpresso/what-is-the-difference-between-protocol-buffers-and-json
 +
 +
*  https://developers.google.com/protocol-buffers/docs/proto
 +
*  https://spline.de/talks/protobuf.pdf
 +
 +
JSON supported data types:
 +
<ul>
 +
*  https://www.w3schools.com/js/js_json_datatypes.asp
 +
</ul>
 +
 +
 +
First Protobuf .proto file, compiles using `protoc-c`, part of a package available with Ubuntu 20.04:
 +
 +
<pre>
 +
// syntax = "proto3";
 +
syntax = "proto2";
 +
 +
// Notes:
 +
// $ protoc-c --c_out=. ./first.proto
 +
 +
message sensorUpdates {
 +
  required int32 message_id = 1;
 +
  optional float vrms = 2;
 +
}
 +
</pre>
 +
 +
. . . It appears that the integer values which message elements are assigned as tantamount to key names in JSON.
 +
 +
 +
2022-01-08 Saturday
 +
 +
*  https://github.com/nanopb/nanopb/blob/master/generator/proto/nanopb.proto
 +
*  https://jpa.kapsi.fi/nanopb/docs/whats_new.html
 +
*  https://jpa.kapsi.fi/nanopb/docs/
 +
 +
*  https://docs.python.org/3/tutorial/modules.html
 +
 +
 +
<!-- comentario -->

Latest revision as of 06:03, 9 January 2022

Protobuf references, somewhat arbitrary starting point yet introduces some key topics of Protobuf standard and use cases:

JSON supported data types:


First Protobuf .proto file, compiles using `protoc-c`, part of a package available with Ubuntu 20.04:

// syntax = "proto3";
syntax = "proto2";

// Notes:
// $ protoc-c --c_out=. ./first.proto

message sensorUpdates {
  required int32 message_id = 1;
  optional float vrms = 2;
}

. . . It appears that the integer values which message elements are assigned as tantamount to key names in JSON.


2022-01-08 Saturday