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>
38 lines
1.0 KiB
Go
38 lines
1.0 KiB
Go
package obj
|
|
|
|
import (
|
|
"reflect"
|
|
|
|
. "github.com/polydawn/refmt/tok"
|
|
)
|
|
|
|
/*
|
|
A MarshalMachine that unwraps an `interface{}` value,
|
|
selects the correct machinery for handling its content,
|
|
and delegates immediately to that machine.
|
|
*/
|
|
type marshalMachineWildcard struct {
|
|
delegate MarshalMachine
|
|
}
|
|
|
|
func (mach *marshalMachineWildcard) Reset(slab *marshalSlab, rv reflect.Value, rt reflect.Type) error {
|
|
// If the interface contains nil, go no further; we'll simply yield that single token.
|
|
if rv.IsNil() {
|
|
mach.delegate = nil
|
|
return nil
|
|
}
|
|
// Pick, reset, and retain a delegate machine for the interior type.
|
|
unwrap_rv := rv.Elem() // unwrap iface
|
|
unwrap_rt := unwrap_rv.Type()
|
|
mach.delegate = slab.requisitionMachine(unwrap_rt)
|
|
return mach.delegate.Reset(slab, unwrap_rv, unwrap_rt)
|
|
}
|
|
|
|
func (mach marshalMachineWildcard) Step(driver *Marshaller, slab *marshalSlab, tok *Token) (done bool, err error) {
|
|
if mach.delegate == nil {
|
|
tok.Type = TNull
|
|
return true, nil
|
|
}
|
|
return mach.delegate.Step(driver, slab, tok)
|
|
}
|