github.com/minio/madmin-go@v1.7.5/estream/types.go (about)

     1  //
     2  // MinIO Object Storage (c) 2022 MinIO, Inc.
     3  //
     4  // Licensed under the Apache License, Version 2.0 (the "License");
     5  // you may not use this file except in compliance with the License.
     6  // You may obtain a copy of the License at
     7  //
     8  //      http://www.apache.org/licenses/LICENSE-2.0
     9  //
    10  // Unless required by applicable law or agreed to in writing, software
    11  // distributed under the License is distributed on an "AS IS" BASIS,
    12  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13  // See the License for the specific language governing permissions and
    14  // limitations under the License.
    15  //
    16  
    17  package estream
    18  
    19  //go:generate stringer -type=blockID -trimprefix=block
    20  
    21  type blockID int8
    22  
    23  const (
    24  	blockPlainKey blockID = iota + 1
    25  	blockEncryptedKey
    26  	blockEncStream
    27  	blockPlainStream
    28  	blockDatablock
    29  	blockEOS
    30  	blockEOF
    31  	blockError
    32  )
    33  
    34  type checksumType uint8
    35  
    36  //go:generate stringer -type=checksumType -trimprefix=checksumType
    37  
    38  const (
    39  	checksumTypeNone checksumType = iota
    40  	checksumTypeXxhash
    41  
    42  	checksumTypeUnknown
    43  )
    44  
    45  func (c checksumType) valid() bool {
    46  	return c >= checksumTypeNone && c < checksumTypeUnknown
    47  }