mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-12-24 22:10:23 +00:00
91774fc936
Uses github.com/libopenstorage/secrets to communicate with Vault. This removes the need for maintaining our own limited Vault APIs. By adding the new dependency, several other packages got updated in the process. Unused indirect dependencies have been removed from go.mod. Signed-off-by: Niels de Vos <ndevos@redhat.com>
168 lines
4.9 KiB
Go
168 lines
4.9 KiB
Go
// 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 protoiface
|
|
|
|
import (
|
|
"google.golang.org/protobuf/internal/pragma"
|
|
"google.golang.org/protobuf/reflect/protoreflect"
|
|
)
|
|
|
|
// 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)
|
|
}
|
|
|
|
// SupportFlags indicate support for optional features.
|
|
type SupportFlags = uint64
|
|
|
|
const (
|
|
// 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.NoUnkeyedLiterals
|
|
|
|
Message protoreflect.Message
|
|
Flags MarshalInputFlags
|
|
}
|
|
|
|
// SizeOutput is output from the Size method.
|
|
type SizeOutput = struct {
|
|
pragma.NoUnkeyedLiterals
|
|
|
|
Size int
|
|
}
|
|
|
|
// MarshalInput is input to the Marshal method.
|
|
type MarshalInput = struct {
|
|
pragma.NoUnkeyedLiterals
|
|
|
|
Message protoreflect.Message
|
|
Buf []byte // output is appended to this buffer
|
|
Flags MarshalInputFlags
|
|
}
|
|
|
|
// MarshalOutput is output from the Marshal method.
|
|
type MarshalOutput = struct {
|
|
pragma.NoUnkeyedLiterals
|
|
|
|
Buf []byte // contains marshaled message
|
|
}
|
|
|
|
// MarshalInputFlags configure the marshaler.
|
|
// Most flags correspond to fields in proto.MarshalOptions.
|
|
type MarshalInputFlags = uint8
|
|
|
|
const (
|
|
MarshalDeterministic MarshalInputFlags = 1 << iota
|
|
MarshalUseCachedSize
|
|
)
|
|
|
|
// UnmarshalInput is input to the Unmarshal method.
|
|
type UnmarshalInput = struct {
|
|
pragma.NoUnkeyedLiterals
|
|
|
|
Message protoreflect.Message
|
|
Buf []byte // input buffer
|
|
Flags UnmarshalInputFlags
|
|
Resolver interface {
|
|
FindExtensionByName(field protoreflect.FullName) (protoreflect.ExtensionType, error)
|
|
FindExtensionByNumber(message protoreflect.FullName, field protoreflect.FieldNumber) (protoreflect.ExtensionType, error)
|
|
}
|
|
}
|
|
|
|
// UnmarshalOutput is output from the Unmarshal method.
|
|
type UnmarshalOutput = struct {
|
|
pragma.NoUnkeyedLiterals
|
|
|
|
Flags UnmarshalOutputFlags
|
|
}
|
|
|
|
// UnmarshalInputFlags configure the unmarshaler.
|
|
// Most flags correspond to fields in proto.UnmarshalOptions.
|
|
type UnmarshalInputFlags = uint8
|
|
|
|
const (
|
|
UnmarshalDiscardUnknown UnmarshalInputFlags = 1 << iota
|
|
)
|
|
|
|
// UnmarshalOutputFlags are output from the Unmarshal method.
|
|
type UnmarshalOutputFlags = uint8
|
|
|
|
const (
|
|
// 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.NoUnkeyedLiterals
|
|
|
|
Source protoreflect.Message
|
|
Destination protoreflect.Message
|
|
}
|
|
|
|
// MergeOutput is output from the Merge method.
|
|
type MergeOutput = struct {
|
|
pragma.NoUnkeyedLiterals
|
|
|
|
Flags MergeOutputFlags
|
|
}
|
|
|
|
// MergeOutputFlags are output from the Merge method.
|
|
type MergeOutputFlags = uint8
|
|
|
|
const (
|
|
// 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.NoUnkeyedLiterals
|
|
|
|
Message protoreflect.Message
|
|
}
|
|
|
|
// CheckInitializedOutput is output from the CheckInitialized method.
|
|
type CheckInitializedOutput = struct {
|
|
pragma.NoUnkeyedLiterals
|
|
}
|