commit | 3ab648c9a8af1e34420fcf00a1a636da4a352af3 | [log] [tgz] |
---|---|---|
author | Joe Tsai <joetsai@digital-static.net> | Wed Aug 15 14:41:30 2018 -0700 |
committer | Joe Tsai <thebrokentoaster@gmail.com> | Thu Aug 30 21:46:37 2018 +0000 |
tree | f80335cbc13d1dc544731c29ff1bea8261b01a30 | |
parent | 9f9e0ee48a8948ceda04234d143583ecb6fb5c48 [diff] |
internal/encoding/pack: initial commit 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>
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.
List of relevant design documents:
We appreciate community contributions. See CONTRIBUTING.md.
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.