commit | 0ae1c9789a684aa8955cb295a56c556e7a1c4525 | [log] [tgz] |
---|---|---|
author | Damien Neil <dneil@google.com> | Tue Jan 28 14:53:44 2020 -0800 |
committer | Damien Neil <dneil@google.com> | Wed Jan 29 21:35:31 2020 +0000 |
tree | 1c0f6173156ebc1a82be79d309098ec59e2405ad | |
parent | a522d5fa0c2268a489b0c8118de34e92830bd602 [diff] |
internal/impl: lazy extension decoding Historically, extensions have been placed in the unknown fields section of the unmarshaled message and decoded lazily on demand. The current unmarshal implementation decodes extensions eagerly at unmarshal time, permitting errors to be immediately reported and correctly detecting unset required fields in extension values. Add support for validated lazy extension decoding, where the extension value is fully validated at initial unmarshal time but the fully unmarshaled message is only created lazily. Make this behavior conditional on the protolegacy flag for now. Change-Id: I9d742496a4bd4dafea83fca8619cd6e8d7e65bc3 Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/216764 Reviewed-by: Joe Tsai <joetsai@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.