mirror of
https://github.com/Buriburizaem0n/nezha_domains.git
synced 2026-09-19 17:50:12 +00:00
36 lines
996 B
Go
36 lines
996 B
Go
//go:build linux
|
|
|
|
package scenario
|
|
|
|
import "github.com/nezhahq/nezha/integration/agentcompat/internal/dashboard"
|
|
|
|
func reconnectReceiptSummary(pairs ...[]dashboard.MCPReceiptPair) (taskIDs, resultIDs []uint64, duplicates, lost int) {
|
|
seen := make(map[uint64]struct{})
|
|
for _, group := range pairs {
|
|
for _, pair := range group {
|
|
taskIDs = append(taskIDs, pair.Task.TaskID)
|
|
resultIDs = append(resultIDs, pair.Result.TaskID)
|
|
if _, exists := seen[pair.Task.TaskID]; exists {
|
|
duplicates++
|
|
}
|
|
seen[pair.Task.TaskID] = struct{}{}
|
|
if pair.Task.TaskID == 0 || pair.Task.TaskID != pair.Result.TaskID {
|
|
lost++
|
|
}
|
|
}
|
|
}
|
|
return taskIDs, resultIDs, duplicates, lost
|
|
}
|
|
|
|
func staleReconnectReceiptCount(generation uint64, pairs ...[]dashboard.MCPReceiptPair) int {
|
|
count := 0
|
|
for _, group := range pairs {
|
|
for _, pair := range group {
|
|
if pair.Task.DashboardGeneration == generation || pair.Result.DashboardGeneration == generation {
|
|
count++
|
|
}
|
|
}
|
|
}
|
|
return count
|
|
}
|