Documentation ¶
Index ¶
- Constants
- Variables
- type Hash
- func (h *Hash) Clone() *Hash
- func (m *Hash) CloneMessageVT() proto.Message
- func (m *Hash) CloneVT() *Hash
- func (h *Hash) CompareHash(other *Hash) bool
- func (*Hash) Descriptor() ([]byte, []int)deprecated
- func (this *Hash) EqualMessageVT(thatMsg proto.Message) bool
- func (this *Hash) EqualVT(that *Hash) bool
- func (x *Hash) GetHash() []byte
- func (x *Hash) GetHashType() HashType
- func (h *Hash) IsEmpty() bool
- func (h *Hash) IsNil() bool
- func (h *Hash) MarshalDigest() []byte
- func (h *Hash) MarshalJSON() ([]byte, error)
- func (h *Hash) MarshalString() string
- func (m *Hash) MarshalToSizedBufferVT(dAtA []byte) (int, error)
- func (m *Hash) MarshalToVT(dAtA []byte) (int, error)
- func (m *Hash) MarshalVT() (dAtA []byte, err error)
- func (h *Hash) ParseFromB58(ref string) error
- func (*Hash) ProtoMessage()
- func (x *Hash) ProtoReflect() protoreflect.Message
- func (x *Hash) Reset()
- func (m *Hash) SizeVT() (n int)
- func (x *Hash) String() string
- func (h *Hash) UnmarshalFastJSON(val *fastjson.Value) error
- func (h *Hash) UnmarshalJSON(data []byte) error
- func (m *Hash) UnmarshalVT(dAtA []byte) error
- func (h *Hash) Validate() error
- func (h *Hash) VerifyData(data []byte) ([]byte, error)
- type HashType
- func (h HashType) BuildHasher() (hash.Hash, error)
- func (HashType) Descriptor() protoreflect.EnumDescriptor
- func (x HashType) Enum() *HashType
- func (HashType) EnumDescriptor() ([]byte, []int)deprecated
- func (h HashType) GetHashLen() int
- func (x HashType) Number() protoreflect.EnumNumber
- func (x HashType) String() string
- func (h HashType) Sum(data []byte) ([]byte, error)
- func (HashType) Type() protoreflect.EnumType
- func (h HashType) Validate() error
Constants ¶
const RecommendedHashType = HashType_HashType_BLAKE3
RecommendedHashType is the hash type recommended to use. Note: not guaranteed to stay the same between Bifrost versions.
Variables ¶
var ( HashType_name = map[int32]string{ 0: "HashType_UNKNOWN", 1: "HashType_SHA256", 2: "HashType_SHA1", 3: "HashType_BLAKE3", } HashType_value = map[string]int32{ "HashType_UNKNOWN": 0, "HashType_SHA256": 1, "HashType_SHA1": 2, "HashType_BLAKE3": 3, } )
Enum value maps for HashType.
var ( ErrInvalidLength = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflow = fmt.Errorf("proto: integer overflow") ErrUnexpectedEndOfGroup = fmt.Errorf("proto: unexpected end of group") )
var ErrHashMismatch = errors.New("hash mismatch")
ErrHashMismatch is returned when hashes mismatch.
var ErrHashTypeUnknown = errors.New("unknown hash type")
ErrHashTypeUnknown is returned when the hash type is unknown.
var File_github_com_aperturerobotics_bifrost_hash_hash_proto protoreflect.FileDescriptor
var SupportedHashTypes = []HashType{ HashType_HashType_SHA256, HashType_HashType_SHA1, HashType_HashType_BLAKE3, }
SupportedHashTypes is the list of built-in hash types.
Functions ¶
This section is empty.
Types ¶
type Hash ¶
type Hash struct { // HashType is the hash type in use. HashType HashType `protobuf:"varint,1,opt,name=hash_type,json=hashType,proto3,enum=hash.HashType" json:"hash_type,omitempty"` // Hash is the hash value. Hash []byte `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"` // contains filtered or unexported fields }
Hash is a hash of a binary blob.
func UnmarshalHashFastJSON ¶ added in v0.12.2
UnmarshalHashFastJSON unmarshals a Hash from FastJSON value.
func UnmarshalHashJSON ¶ added in v0.12.2
UnmarshalHashJSON unmarshals a Hash from JSON.
func (*Hash) CloneMessageVT ¶ added in v0.15.6
func (*Hash) CompareHash ¶
CompareHash compares two hashes.
func (*Hash) Descriptor
deprecated
func (*Hash) EqualMessageVT ¶ added in v0.15.6
func (*Hash) GetHashType ¶
func (*Hash) MarshalDigest ¶
MarshalDigest marshals the hash to a binary slice.
func (*Hash) MarshalJSON ¶ added in v0.12.2
MarshalJSON marshals the hash to a JSON string. Returns "" if the hash is nil.
func (*Hash) MarshalString ¶
MarshalString marshals the hash to a string.
func (*Hash) MarshalToSizedBufferVT ¶ added in v0.2.0
func (*Hash) ParseFromB58 ¶ added in v0.12.2
ParseFromB58 parses the object ref from a base58 string.
func (*Hash) ProtoMessage ¶
func (*Hash) ProtoMessage()
func (*Hash) ProtoReflect ¶ added in v0.2.0
func (x *Hash) ProtoReflect() protoreflect.Message
func (*Hash) UnmarshalFastJSON ¶ added in v0.12.2
UnmarshalFastJSON unmarshals the fast json container. If the val or object ref are nil, does nothing.
func (*Hash) UnmarshalJSON ¶ added in v0.12.2
UnmarshalJSON unmarshals the reference from a JSON string or object. Also accepts an object (in jsonpb format).
func (*Hash) UnmarshalVT ¶ added in v0.2.0
type HashType ¶
type HashType int32
HashType identifies the hash type in use.
const ( // HashType_UNKNOWN is an unknown hash type. HashType_HashType_UNKNOWN HashType = 0 // HashType_SHA256 is the sha256 hash type. HashType_HashType_SHA256 HashType = 1 // HashType_SHA1 is the sha1 hash type. // Note: this is not recommended for use outside of backwards-compat. HashType_HashType_SHA1 HashType = 2 // HashType_BLAKE3 is the blake3 hash type. // Uses a 32-byte digest size. HashType_HashType_BLAKE3 HashType = 3 )
func UnmarshalHashTypeFastJSON ¶ added in v0.12.2
UnmarshalHashTypeFastJSON unmarshals a HashType from FastJSON value.
func (HashType) BuildHasher ¶
BuildHasher builds the hasher for the hash type.
func (HashType) Descriptor ¶ added in v0.2.0
func (HashType) Descriptor() protoreflect.EnumDescriptor
func (HashType) EnumDescriptor
deprecated
func (HashType) Number ¶ added in v0.2.0
func (x HashType) Number() protoreflect.EnumNumber
func (HashType) Type ¶ added in v0.2.0
func (HashType) Type() protoreflect.EnumType