Documentation

Overview

    Package protoimpl contains the default implementation for messages generated by protoc-gen-go.

    WARNING: This package should only ever be imported by generated messages. The compatibility agreement covers nothing except for functionality needed to keep existing generated messages operational. Breakages that occur due to unauthorized usages of this package are not the author's responsibility.

    Index

    Constants

    View Source
    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
    )
    View Source
    const UnsafeEnabled = impl.UnsafeEnabled

      UnsafeEnabled specifies whether package unsafe can be used.

      Variables

      Functions

      This section is empty.

      Types

      type DescBuilder

      type DescBuilder = filedesc.Builder

        Types used by generated code in init functions.

        type EnforceVersion

        type EnforceVersion uint

          EnforceVersion is used by code generated by protoc-gen-go to 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 uint being a compilation failure (guaranteed by the Go specification).

          type EnumInfo

          type EnumInfo = impl.EnumInfo

            Types used by generated code to implement EnumType, MessageType, and ExtensionType.

            type ExtensionFieldV1

            type ExtensionFieldV1 = impl.ExtensionField

            type ExtensionFields

            type ExtensionFields = impl.ExtensionFields

            type ExtensionInfo

            type ExtensionInfo = impl.ExtensionInfo

            type MessageInfo

            type MessageInfo = impl.MessageInfo

            type MessageState

            type MessageState = impl.MessageState

              Types embedded in generated messages.

              type Pointer

              type Pointer = impl.Pointer

              type SizeCache

              type SizeCache = impl.SizeCache

              type TypeBuilder

              type TypeBuilder = filetype.Builder

              type UnknownFields

              type UnknownFields = impl.UnknownFields

              type WeakFields

              type WeakFields = impl.WeakFields

              Source Files