From acc010be81569d8410ecc593b6478734dc8eac4e Mon Sep 17 00:00:00 2001 From: KingKDot Date: Tue, 7 Apr 2026 10:43:27 -0500 Subject: [PATCH] fix test and dispatcher for pings --- Overlord-Client/cmd/agent/handlers/dispatcher_test.go | 10 ++++++++-- Overlord-Client/cmd/agent/handlers/ping.go | 2 ++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Overlord-Client/cmd/agent/handlers/dispatcher_test.go b/Overlord-Client/cmd/agent/handlers/dispatcher_test.go index 3b5509c..52277b1 100644 --- a/Overlord-Client/cmd/agent/handlers/dispatcher_test.go +++ b/Overlord-Client/cmd/agent/handlers/dispatcher_test.go @@ -45,8 +45,14 @@ func TestHandlePing(t *testing.T) { t.Fatalf("HandlePing failed: %v", err) } - if len(writer.msgs) < 1 { - t.Fatal("Expected at least 1 message") + deadline := time.After(2 * time.Second) + for len(writer.msgs) < 1 { + select { + case <-deadline: + t.Fatal("Timed out waiting for pong message") + default: + time.Sleep(5 * time.Millisecond) + } } var pong wire.Pong diff --git a/Overlord-Client/cmd/agent/handlers/ping.go b/Overlord-Client/cmd/agent/handlers/ping.go index f5df9fb..df0bc58 100644 --- a/Overlord-Client/cmd/agent/handlers/ping.go +++ b/Overlord-Client/cmd/agent/handlers/ping.go @@ -14,6 +14,8 @@ func HandlePing(ctx context.Context, env *runtime.Env, envelope map[string]inter if ts == 0 { ts = time.Now().UnixMilli() } + env.SetLastPong(time.Now().UnixMilli()) + pong := wire.Pong{Type: "pong", TS: ts} go func() { if err := wire.WriteMsg(ctx, env.Conn, pong); err != nil {