Major integrations and fixes: - Added BACKBEAT SDK integration for P2P operation timing - Implemented beat-aware status tracking for distributed operations - Added Docker secrets support for secure license management - Resolved KACHING license validation via HTTPS/TLS - Updated docker-compose configuration for clean stack deployment - Disabled rollback policies to prevent deployment failures - Added license credential storage (CHORUS-DEV-MULTI-001) Technical improvements: - BACKBEAT P2P operation tracking with phase management - Enhanced configuration system with file-based secrets - Improved error handling for license validation - Clean separation of KACHING and CHORUS deployment stacks 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
59 lines
1.2 KiB
Go
59 lines
1.2 KiB
Go
// Copyright 2018 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 set provides simple set data structures for uint64s.
|
|
package set
|
|
|
|
import "math/bits"
|
|
|
|
// int64s represents a set of integers within the range of 0..63.
|
|
type int64s uint64
|
|
|
|
func (bs *int64s) Len() int {
|
|
return bits.OnesCount64(uint64(*bs))
|
|
}
|
|
func (bs *int64s) Has(n uint64) bool {
|
|
return uint64(*bs)&(uint64(1)<<n) > 0
|
|
}
|
|
func (bs *int64s) Set(n uint64) {
|
|
*(*uint64)(bs) |= uint64(1) << n
|
|
}
|
|
func (bs *int64s) Clear(n uint64) {
|
|
*(*uint64)(bs) &^= uint64(1) << n
|
|
}
|
|
|
|
// Ints represents a set of integers within the range of 0..math.MaxUint64.
|
|
type Ints struct {
|
|
lo int64s
|
|
hi map[uint64]struct{}
|
|
}
|
|
|
|
func (bs *Ints) Len() int {
|
|
return bs.lo.Len() + len(bs.hi)
|
|
}
|
|
func (bs *Ints) Has(n uint64) bool {
|
|
if n < 64 {
|
|
return bs.lo.Has(n)
|
|
}
|
|
_, ok := bs.hi[n]
|
|
return ok
|
|
}
|
|
func (bs *Ints) Set(n uint64) {
|
|
if n < 64 {
|
|
bs.lo.Set(n)
|
|
return
|
|
}
|
|
if bs.hi == nil {
|
|
bs.hi = make(map[uint64]struct{})
|
|
}
|
|
bs.hi[n] = struct{}{}
|
|
}
|
|
func (bs *Ints) Clear(n uint64) {
|
|
if n < 64 {
|
|
bs.lo.Clear(n)
|
|
return
|
|
}
|
|
delete(bs.hi, n)
|
|
}
|