fix test and dispatcher for pings

This commit is contained in:
KingKDot
2026-04-07 10:43:27 -05:00
parent 0ad98e3f24
commit acc010be81
2 changed files with 10 additions and 2 deletions
@@ -45,8 +45,14 @@ func TestHandlePing(t *testing.T) {
t.Fatalf("HandlePing failed: %v", err) t.Fatalf("HandlePing failed: %v", err)
} }
if len(writer.msgs) < 1 { deadline := time.After(2 * time.Second)
t.Fatal("Expected at least 1 message") 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 var pong wire.Pong
@@ -14,6 +14,8 @@ func HandlePing(ctx context.Context, env *runtime.Env, envelope map[string]inter
if ts == 0 { if ts == 0 {
ts = time.Now().UnixMilli() ts = time.Now().UnixMilli()
} }
env.SetLastPong(time.Now().UnixMilli())
pong := wire.Pong{Type: "pong", TS: ts} pong := wire.Pong{Type: "pong", TS: ts}
go func() { go func() {
if err := wire.WriteMsg(ctx, env.Conn, pong); err != nil { if err := wire.WriteMsg(ctx, env.Conn, pong); err != nil {