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>
52 lines
1.1 KiB
Go
52 lines
1.1 KiB
Go
// Copyright (c) 2012, Suryandaru Triandana <syndtr@gmail.com>
|
|
// All rights reserved.
|
|
//
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
package comparer
|
|
|
|
import "bytes"
|
|
|
|
type bytesComparer struct{}
|
|
|
|
func (bytesComparer) Compare(a, b []byte) int {
|
|
return bytes.Compare(a, b)
|
|
}
|
|
|
|
func (bytesComparer) Name() string {
|
|
return "leveldb.BytewiseComparator"
|
|
}
|
|
|
|
func (bytesComparer) Separator(dst, a, b []byte) []byte {
|
|
i, n := 0, len(a)
|
|
if n > len(b) {
|
|
n = len(b)
|
|
}
|
|
for ; i < n && a[i] == b[i]; i++ {
|
|
}
|
|
if i >= n {
|
|
// Do not shorten if one string is a prefix of the other
|
|
} else if c := a[i]; c < 0xff && c+1 < b[i] {
|
|
dst = append(dst, a[:i+1]...)
|
|
dst[len(dst)-1]++
|
|
return dst
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (bytesComparer) Successor(dst, b []byte) []byte {
|
|
for i, c := range b {
|
|
if c != 0xff {
|
|
dst = append(dst, b[:i+1]...)
|
|
dst[len(dst)-1]++
|
|
return dst
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// DefaultComparer are default implementation of the Comparer interface.
|
|
// It uses the natural ordering, consistent with bytes.Compare.
|
|
var DefaultComparer = bytesComparer{}
|