3ab648c9a8
Package pack enables manual encoding and decoding of protobuf wire data. This package is intended only for testing and debugging purposes. Message.Marshal is useful for hand-crafting raw wire testdata in tests in a readable form. Message.Unmarshal is useful for parsing raw wire data for debugging. For that reason, effort was put into trying to get its string formatted output look humanly readable. High-level API: type Number = wire.Number const MinValidNumber Number = wire.MinValidNumber ... type Type = wire.Type const VarintType Type = wire.VarintType ... type Token token type Tag struct { ... } type Bool bool type Varint int64 type Svarint int64 type Uvarint uint64 type Int32 int32 type Uint32 uint32 type Float32 float32 type Int64 int64 type Uint64 uint64 type Float64 float64 type String string type Bytes []byte type LengthPrefix Message type Denormalized struct { ... } type Raw []byte type Message []Token func (Message) Size() int func (Message) Marshal() []byte func (*Message) Unmarshal(in []byte) func (*Message) UnmarshalDescriptor(in []byte, desc protoreflect.MessageDescriptor) func (Message) Format(s fmt.State, r rune) Change-Id: Id99b340971a09c8a040838b155782a5d32b548bc Reviewed-on: https://go-review.googlesource.com/129404 Reviewed-by: Herbie Ong <herbie@google.com> |
||
---|---|---|
cmd/protoc-gen-go | ||
internal | ||
protogen | ||
reflect | ||
.gitignore | ||
.travis.yml | ||
AUTHORS | ||
CONTRIBUTING.md | ||
CONTRIBUTORS | ||
go.mod | ||
go.sum | ||
LICENSE | ||
PATENTS | ||
README.md | ||
regenerate.bash | ||
test.bash |
Next Generation Go Protocol Buffers
WARNING: This repository is in active development. There are no guarantees about API stability. Breaking changes will occur until a stable release is made and announced.
This repository is for the development of the next major Go implementation of protocol buffers. This library makes breaking API changes relative to the existing Go protobuf library. Of particular note, this API aims to make protobuf reflection a first-class feature of the API and implements the protobuf ecosystem in terms of reflection.
Design Documents
List of relevant design documents:
Contributing
We appreciate community contributions. See CONTRIBUTING.md.
Reporting Issues
Issues regarding the new API can be filed at
github.com/golang/protobuf.
Please use a APIv2:
prefix in the title to make it clear that
the issue is regarding the new API work.