From fbbf82ec64c338bf9f66ad43b5d0c32d807ddcda Mon Sep 17 00:00:00 2001 From: Ethan Buchman Date: Sat, 23 Jul 2016 19:05:46 -0400 Subject: [PATCH] update README.md --- README.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index ba7513833..fc5c7bb22 100644 --- a/README.md +++ b/README.md @@ -17,13 +17,14 @@ Other implementations: This repository holds a number of important pieces: - `types/types.proto` - - the protobuf file definig TMSP message types, and the optional grpc interface. - - use `protoc --go_out=plugins=grpc:. types.proto` to from the `types` dir to generate the `types/types.pb.go` file - - see `protoc --help` and [the grpc docs](www.grpc.io/docs) for examples and details of other languages + - the protobuf file defining TMSP message types, and the optional grpc interface. + - run `protoc --go_out=plugins=grpc:. types.proto` in the `types` dir to generate the `types/types.pb.go` file + - see `protoc --help` and [the grpc docs](https://www.grpc.io/docs) for examples and details of other languages - golang implementation of TMSP client and server - two implementations: - - asynchronous, ordered message passing over unix or tcp + - asynchronous, ordered message passing over unix or tcp; + - messages are serialized using protobuf and length prefixed - grpc - TendermintCore runs a client, and the application runs a server @@ -42,6 +43,8 @@ Since this is a streaming protocol, all messages are encoded with a length-prefi For example, if the Protobuf3 encoded TMSP message is `0xDEADBEEF` (4 bytes), the length-prefixed message is `0x0104DEADBEEF`. If the Protobuf3 encoded TMSP message is 65535 bytes long, the length-prefixed message would be like `0x02FFFF...`. +Note this prefixing does not apply for grpc. + ## Message types TMSP requests/responses are simple Protobuf messages. Check out the [schema file](https://github.com/tendermint/tmsp/blob/master/types/types.proto).