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>
30 lines
715 B
Go
30 lines
715 B
Go
package metricshelper
|
|
|
|
import ma "github.com/multiformats/go-multiaddr"
|
|
|
|
var transports = [...]int{ma.P_CIRCUIT, ma.P_WEBRTC, ma.P_WEBRTC_DIRECT, ma.P_WEBTRANSPORT, ma.P_QUIC, ma.P_QUIC_V1, ma.P_WSS, ma.P_WS, ma.P_TCP}
|
|
|
|
func GetTransport(a ma.Multiaddr) string {
|
|
for _, t := range transports {
|
|
if _, err := a.ValueForProtocol(t); err == nil {
|
|
return ma.ProtocolWithCode(t).Name
|
|
}
|
|
}
|
|
return "other"
|
|
}
|
|
|
|
func GetIPVersion(addr ma.Multiaddr) string {
|
|
version := "unknown"
|
|
ma.ForEach(addr, func(c ma.Component) bool {
|
|
if c.Protocol().Code == ma.P_IP4 {
|
|
version = "ip4"
|
|
return false
|
|
} else if c.Protocol().Code == ma.P_IP6 {
|
|
version = "ip6"
|
|
return false
|
|
}
|
|
return true
|
|
})
|
|
return version
|
|
}
|