diff options
author | Luke Shumaker <lukeshu@lukeshu.com> | 2023-02-12 16:17:34 -0700 |
---|---|---|
committer | Luke Shumaker <lukeshu@lukeshu.com> | 2023-02-12 16:17:34 -0700 |
commit | c55326b0cb6994bb802cf6aac4a296acfb0e41ff (patch) | |
tree | 020cb033adb3809bcc8ffed5f56ba8d167b32dd1 /lib/btrfs/btrfssum | |
parent | cfcc753dc8906817e15b1b7c36b4dc12462d12e4 (diff) | |
parent | acbbfafa07922b458506b91a58f3a082da453fd1 (diff) |
Merge branch 'lukeshu/enums'
Diffstat (limited to 'lib/btrfs/btrfssum')
-rw-r--r-- | lib/btrfs/btrfssum/csum.go | 37 |
1 files changed, 19 insertions, 18 deletions
diff --git a/lib/btrfs/btrfssum/csum.go b/lib/btrfs/btrfssum/csum.go index f436e2c..157371e 100644 --- a/lib/btrfs/btrfssum/csum.go +++ b/lib/btrfs/btrfssum/csum.go @@ -52,35 +52,36 @@ func (csum CSum) Format(f fmt.State, verb rune) { type CSumType uint16 const ( - TYPE_CRC32 = CSumType(iota) + TYPE_CRC32 CSumType = iota TYPE_XXHASH TYPE_SHA256 TYPE_BLAKE2 ) +var csumTypeNames = []string{ + "crc32c", + "xxhash64", + "sha256", + "blake2", +} + +var csumTypeSizes = []int{ + 4, + 8, + 32, + 32, +} + func (typ CSumType) String() string { - names := map[CSumType]string{ - TYPE_CRC32: "crc32c", - TYPE_XXHASH: "xxhash64", - TYPE_SHA256: "sha256", - TYPE_BLAKE2: "blake2", - } - if name, ok := names[typ]; ok { - return name + if int(typ) < len(csumTypeNames) { + return csumTypeNames[typ] } return fmt.Sprintf("%d", typ) } func (typ CSumType) Size() int { - //nolint:gomnd // This is where we define the magic numbers. - sizes := map[CSumType]int{ - TYPE_CRC32: 4, - TYPE_XXHASH: 8, - TYPE_SHA256: 32, - TYPE_BLAKE2: 32, - } - if size, ok := sizes[typ]; ok { - return size + if int(typ) < len(csumTypeSizes) { + return csumTypeSizes[typ] } return len(CSum{}) } |