@@ -31,7 +31,7 @@ import (
3131 ssam "github.com/pancsta/asyncmachine-go/pkg/states"
3232 "github.com/pancsta/asyncmachine-go/pkg/telemetry/dbg"
3333 "github.com/pancsta/asyncmachine-go/tools/debugger/server"
34- typesDbg "github.com/pancsta/asyncmachine-go/tools/debugger/types"
34+ typesdbg "github.com/pancsta/asyncmachine-go/tools/debugger/types"
3535 "github.com/pancsta/asyncmachine-go/tools/relay/states"
3636 "github.com/pancsta/asyncmachine-go/tools/relay/types"
3737)
@@ -139,8 +139,10 @@ func (r *Relay) StartState(e *am.Event) {
139139 if cmd .OutputClients {
140140 _ = r .hExportClients ()
141141 }
142- dbgParams := typesDbg.Params {
143- FwdData : cmd .FwdAddr ,
142+ dbgParams := func () * typesdbg.Params {
143+ return & typesdbg.Params {
144+ FwdData : cmd .FwdAddr ,
145+ }
144146 }
145147 srvMux , _ , err := server .New (r .Mach , cmd .ListenAddr , dbgParams )
146148 if err != nil {
@@ -498,17 +500,18 @@ var _ = ssR.ClientMsg
498500// ///// HANDLERS (DBG)
499501
500502// ///// ///// /////
501- // TODO typed args for dbg server
503+
504+ var _ = ssR .ClientMsg
502505
503506func (r * Relay ) ClientMsgEnter (e * am.Event ) bool {
504- _ , ok1 := e .Args ["msgs_tx" ].([]* dbg.DbgMsgTx )
505- _ , ok2 := e .Args ["conn_ids" ].([]string )
506- return ok1 && ok2
507+ args , ok := am.ParseArgsCheck [typesdbg.A ](e .Args )
508+ return ok && args .MsgsTx != nil && args .ConnIds != nil
507509}
508510
509511func (r * Relay ) ClientMsgState (e * am.Event ) {
510- msgs := e .Args ["msgs_tx" ].([]* dbg.DbgMsgTx )
511- connIds := e .Args ["conn_ids" ].([]string )
512+ args := am.ParseArgs [typesdbg.A ](e .Args )
513+ msgs := args .MsgsTx
514+ connIds := args .ConnIds
512515
513516 updatedClients := make (map [string ]* server.Client )
514517
@@ -559,9 +562,8 @@ func (r *Relay) ClientMsgState(e *am.Event) {
559562var _ = ssR .ConnectEvent
560563
561564func (r * Relay ) ConnectEventEnter (e * am.Event ) bool {
562- msg , ok1 := e .Args ["msg_struct" ].(* dbg.DbgMsgStruct )
563- _ , ok2 := e .Args ["conn_id" ].(string )
564- if ! ok1 || ! ok2 || msg .ID == "" {
565+ args , ok := am.ParseArgsCheck [typesdbg.A ](e .Args )
566+ if ! ok || args .MsgStruct == nil || args .MsgStruct .ID == "" {
565567 r .Mach .Log ("Error: msg_struct malformed\n " )
566568 return false
567569 }
@@ -571,8 +573,9 @@ func (r *Relay) ConnectEventEnter(e *am.Event) bool {
571573
572574func (r * Relay ) ConnectEventState (e * am.Event ) {
573575 // initial structure data
574- msg := e .Args ["msg_struct" ].(* dbg.DbgMsgStruct )
575- connId := e .Args ["conn_id" ].(string )
576+ args := am.ParseArgs [typesdbg.A ](e .Args )
577+ msg := args .MsgStruct
578+ connId := args .ConnId
576579 var c * server.Client
577580
578581 // update existing client
@@ -609,7 +612,7 @@ func (r *Relay) ConnectEventState(e *am.Event) {
609612var _ = ssR .DisconnectEvent
610613
611614func (r * Relay ) DisconnectEventEnter (e * am.Event ) bool {
612- _ , ok := e . Args [ "conn_id" ].( string )
615+ _ , ok := am. ParseArgsCheck [typesdbg. A ]( e . Args )
613616 if ! ok {
614617 r .Mach .Log ("Error: DisconnectEvent malformed\n " )
615618 return false
@@ -619,7 +622,8 @@ func (r *Relay) DisconnectEventEnter(e *am.Event) bool {
619622}
620623
621624func (r * Relay ) DisconnectEventState (e * am.Event ) {
622- connID := e .Args ["conn_id" ].(string )
625+ args := am.ParseArgs [typesdbg.A ](e .Args )
626+ connID := args .ConnId
623627 for _ , c := range r .dbgClients {
624628 if c .ConnId != "" && c .ConnId == connID {
625629 // mark as disconnected
0 commit comments