MCPcopy
hub / github.com/davyxu/cellnet / syncRPC_OnClientEvent

Function syncRPC_OnClientEvent

tests/rpc_test.go:47–75  ·  view source on GitHub ↗
(ev cellnet.Event)

Source from the content-addressed store, hash-verified

45 queue.StartLoop()
46}
47func syncRPC_OnClientEvent(ev cellnet.Event) {
48
49 switch ev.Message().(type) {
50 case *cellnet.SessionConnected:
51 for i := 0; i < 2; i++ {
52
53 // 同步阻塞请求必须并发启动,否则客户端无法接收数据
54 go func(id int) {
55
56 result, err := rpc.CallSync(ev.Session(), &TestEchoACK{
57 Msg: "sync",
58 Value: 1234,
59 }, time.Second*5)
60
61 if err != nil {
62 syncRPC_Signal.Log(err)
63 syncRPC_Signal.FailNow()
64 return
65 }
66
67 msg := result.(*TestEchoACK)
68 log.Debugln("client sync recv:", msg.Msg, id*100)
69
70 syncRPC_Signal.Done(id * 100)
71
72 }(i + 1)
73 }
74 }
75}
76
77func asyncRPC_OnClientEvent(ev cellnet.Event) {
78

Callers

nothing calls this directly

Calls 4

CallSyncFunction · 0.92
DoneMethod · 0.80
MessageMethod · 0.65
SessionMethod · 0.65

Tested by

no test coverage detected