~bigbes/tarantool

tarantool-protobuf

ref: 0c13fd735d0b7e3218d2b9d1f64c074e01c14234 tarantool-protobuf/examples/docs/hello.md -rw-r--r-- 3.8 KiB
0c13fd73 — Eugene Blikh wire: truncate varints to 32 bits in int32/uint32/sint32/enum decode 3 months ago

#hello.proto

Package: hello

Imports:

  • google/protobuf/timestamp.proto
  • google/protobuf/duration.proto
  • google/protobuf/empty.proto
  • google/protobuf/wrappers.proto
  • google/protobuf/struct.proto
  • google/protobuf/any.proto
  • google/protobuf/field_mask.proto

#Messages

#hello.Result

Demo message for oneof handling.

# Field Type Label Description
1 id int32
2 text string oneof outcome
3 code int32 oneof outcome
4 details hello.Address oneof outcome

#hello.HelloRequest

gRPC service demo. Covers unary + all three streaming flavors so the loopback transport exercises every codegen branch.

# Field Type Label Description
1 name string

#hello.HelloReply

# Field Type Label Description
1 greeting string

#hello.Event

Demo message exercising well-known types (M3).

# Field Type Label Description
1 title string
2 created_at google.protobuf.Timestamp
3 duration google.protobuf.Duration
4 ack google.protobuf.Empty
5 retry_count google.protobuf.Int32Value
6 note google.protobuf.StringValue
7 is_admin google.protobuf.BoolValue
8 payload google.protobuf.Struct
9 attribute google.protobuf.Value
10 tags google.protobuf.ListValue
11 extension google.protobuf.Any
12 update_mask google.protobuf.FieldMask

#hello.Address

# Field Type Label Description
1 street string
2 city string
3 zip int32
4 apartment string optional Explicit-optional: presence is meaningful (distinct from default).

#hello.Person

# Field Type Label Description
1 name string
2 age int32
3 emails string repeated
4 status hello.Status
5 address hello.Address
6 friends hello.Person repeated
7 lucky_numbers int32 repeated
8 avatar bytes
9 user_id fixed64
10 balance sint32
11 weight_kg double
13 ages_by_nickname map<string, int32> Map fields (M2)
14 nickname_by_age map<int32, string>
15 addresses_by_label map<string, hello.Address>

#Enums

#hello.Status

Value Name Description
0 UNKNOWN
1 OK
2 ERROR

#Services

#hello.Greeter

Method Request Response Streaming Description
SayHello hello.HelloRequest hello.HelloReply unary
Echo hello.HelloRequest hello.HelloRequest unary
StreamHellos hello.HelloRequest hello.HelloReply server Server-streaming: one request, server pushes N replies.
CollectHellos hello.HelloRequest hello.HelloReply client Client-streaming: client pushes N requests, server returns one reply.
Chat hello.HelloRequest hello.HelloReply bidi Bidirectional: both sides push and pull independently.