protoimpl
packageThis package is not in the latest version of its module.
Details
Validgo.mod file
The Go module system was introduced in Go 1.11 and is the official dependency management solution for Go.
Redistributable license
Redistributable licenses place minimal restrictions on how software can be used, modified, and redistributed.
Tagged version
Modules with tagged versions give importers more predictable builds.
Stable version
When a project reaches major version v1 it is considered stable.
- Learn more about best practices
Repository
Links
Documentation¶
Overview¶
Package protoimpl contains the default implementation for messagesgenerated by protoc-gen-go.
WARNING: This package should only ever be imported by generated messages.The compatibility agreement covers nothing except for functionality neededto keep existing generated messages operational. Breakages that occur dueto unauthorized usages of this package are not the author's responsibility.
Index¶
Constants¶
const (// MaxVersion is the maximum supported version for generated .pb.go files.// It is always the current version of the module.MaxVersion =version.Minor// GenVersion is the runtime version required by generated .pb.go files.// This is incremented when generated code relies on new functionality// in the runtime.GenVersion = 20// MinVersion is the minimum supported version for generated .pb.go files.// This is incremented when the runtime drops support for old code.MinVersion = 0)
const UnsafeEnabled =impl.UnsafeEnabledUnsafeEnabled specifies whether package unsafe can be used.
Variables¶
var Ximpl.ExportFunctions¶
This section is empty.
Types¶
typeEnforceVersion¶
type EnforceVersionuint
EnforceVersion is used by code generated by protoc-gen-goto statically enforce minimum and maximum versions of this package.A compilation failure implies either that:
- the runtime package is too old and needs to be updated OR
- the generated code is too old and needs to be regenerated.
The runtime package can be upgraded by running:
go get google.golang.org/protobuf
The generated code can be regenerated by running:
protoc --go_out=${PROTOC_GEN_GO_ARGS} ${PROTO_FILES}Example usage by generated code:
const (// Verify that this generated code is sufficiently up-to-date._ = protoimpl.EnforceVersion(genVersion - protoimpl.MinVersion)// Verify that runtime/protoimpl is sufficiently up-to-date._ = protoimpl.EnforceVersion(protoimpl.MaxVersion - genVersion))
The genVersion is the current minor version used to generated the code.This compile-time check relies on negative integer overflow of a uintbeing a compilation failure (guaranteed by the Go specification).
typeExtensionFieldV1¶
type ExtensionFieldV1 =impl.ExtensionField
typeExtensionFields¶
type ExtensionFields =impl.ExtensionFields
typeExtensionInfo¶
type ExtensionInfo =impl.ExtensionInfo
typeLazyUnmarshalInfo¶added inv1.36.0
type LazyUnmarshalInfo = *protolazy.XXX_lazyUnmarshalInfo
typeMessageInfo¶
type MessageInfo =impl.MessageInfo
typeRaceDetectHookData¶added inv1.36.0
type RaceDetectHookData =impl.RaceDetectHookData
typeTypeBuilder¶
typeUnknownFields¶
type UnknownFields =impl.UnknownFields
typeWeakFields¶
type WeakFields =impl.WeakFields