Source File
methods.go
Belonging Package
google.golang.org/protobuf/runtime/protoiface
// Copyright 2019 The Go Authors. All rights reserved.// Use of this source code is governed by a BSD-style// license that can be found in the LICENSE file.// Package protoiface contains types referenced or implemented by messages.//// WARNING: This package should only be imported by message implementations.// The functionality found in this package should be accessed through// higher-level abstractions provided by the proto package.package protoifaceimport ()// Methods is a set of optional fast-path implementations of various operations.type Methods = struct {pragma.NoUnkeyedLiterals// Flags indicate support for optional features.Flags SupportFlags// Size returns the size in bytes of the wire-format encoding of a message.// Marshal must be provided if a custom Size is provided.Size func(SizeInput) SizeOutput// Marshal formats a message in the wire-format encoding to the provided buffer.// Size should be provided if a custom Marshal is provided.// It must not return an error for a partial message.Marshal func(MarshalInput) (MarshalOutput, error)// Unmarshal parses the wire-format encoding and merges the result into a message.// It must not reset the target message or return an error for a partial message.Unmarshal func(UnmarshalInput) (UnmarshalOutput, error)// Merge merges the contents of a source message into a destination message.Merge func(MergeInput) MergeOutput// CheckInitialized returns an error if any required fields in the message are not set.CheckInitialized func(CheckInitializedInput) (CheckInitializedOutput, error)// Equal compares two messages and returns EqualOutput.Equal == true if they are equal.Equal func(EqualInput) EqualOutput}// SupportFlags indicate support for optional features.type SupportFlags = uint64const (// SupportMarshalDeterministic reports whether MarshalOptions.Deterministic is supported.SupportMarshalDeterministic SupportFlags = 1 << iota// SupportUnmarshalDiscardUnknown reports whether UnmarshalOptions.DiscardUnknown is supported.SupportUnmarshalDiscardUnknown)// SizeInput is input to the Size method.type SizeInput = struct {pragma.NoUnkeyedLiteralsMessage protoreflect.MessageFlags MarshalInputFlags}// SizeOutput is output from the Size method.type SizeOutput = struct {pragma.NoUnkeyedLiteralsSize int}// MarshalInput is input to the Marshal method.type MarshalInput = struct {pragma.NoUnkeyedLiteralsMessage protoreflect.MessageBuf []byte // output is appended to this bufferFlags MarshalInputFlags}// MarshalOutput is output from the Marshal method.type MarshalOutput = struct {pragma.NoUnkeyedLiteralsBuf []byte // contains marshaled message}// MarshalInputFlags configure the marshaler.// Most flags correspond to fields in proto.MarshalOptions.type MarshalInputFlags = uint8const (MarshalDeterministic MarshalInputFlags = 1 << iotaMarshalUseCachedSize)// UnmarshalInput is input to the Unmarshal method.type UnmarshalInput = struct {pragma.NoUnkeyedLiteralsMessage protoreflect.MessageBuf []byte // input bufferFlags UnmarshalInputFlagsResolver interface {FindExtensionByName(field protoreflect.FullName) (protoreflect.ExtensionType, error)FindExtensionByNumber(message protoreflect.FullName, field protoreflect.FieldNumber) (protoreflect.ExtensionType, error)}Depth int}// UnmarshalOutput is output from the Unmarshal method.type UnmarshalOutput = struct {pragma.NoUnkeyedLiteralsFlags UnmarshalOutputFlags}// UnmarshalInputFlags configure the unmarshaler.// Most flags correspond to fields in proto.UnmarshalOptions.type UnmarshalInputFlags = uint8const (UnmarshalDiscardUnknown UnmarshalInputFlags = 1 << iota// UnmarshalAliasBuffer permits unmarshal operations to alias the input buffer.// The unmarshaller must not modify the contents of the buffer.UnmarshalAliasBuffer// UnmarshalValidated indicates that validation has already been// performed on the input buffer.UnmarshalValidated// UnmarshalCheckRequired is set if this unmarshal operation ultimately will care if required fields are// initialized.UnmarshalCheckRequired// UnmarshalNoLazyDecoding is set if this unmarshal operation should not use// lazy decoding, even when otherwise available.UnmarshalNoLazyDecoding)// UnmarshalOutputFlags are output from the Unmarshal method.type UnmarshalOutputFlags = uint8const (// UnmarshalInitialized may be set on return if all required fields are known to be set.// If unset, then it does not necessarily indicate that the message is uninitialized,// only that its status could not be confirmed.UnmarshalInitialized UnmarshalOutputFlags = 1 << iota)// MergeInput is input to the Merge method.type MergeInput = struct {pragma.NoUnkeyedLiteralsSource protoreflect.MessageDestination protoreflect.Message}// MergeOutput is output from the Merge method.type MergeOutput = struct {pragma.NoUnkeyedLiteralsFlags MergeOutputFlags}// MergeOutputFlags are output from the Merge method.type MergeOutputFlags = uint8const (// MergeComplete reports whether the merge was performed.// If unset, the merger must have made no changes to the destination.MergeComplete MergeOutputFlags = 1 << iota)// CheckInitializedInput is input to the CheckInitialized method.type CheckInitializedInput = struct {pragma.NoUnkeyedLiteralsMessage protoreflect.Message}// CheckInitializedOutput is output from the CheckInitialized method.type CheckInitializedOutput = struct {pragma.NoUnkeyedLiterals}// EqualInput is input to the Equal method.type EqualInput = struct {pragma.NoUnkeyedLiteralsMessageA protoreflect.MessageMessageB protoreflect.Message}// EqualOutput is output from the Equal method.type EqualOutput = struct {pragma.NoUnkeyedLiteralsEqual bool}
The pages are generated with Golds v0.7.6. (GOOS=linux GOARCH=amd64)