(call *rpc.Call)
| 329 | } |
| 330 | |
| 331 | func (n *ClusterNode) handleRpcResponse(call *rpc.Call) { |
| 332 | if call.Error != nil { |
| 333 | logs.Warn.Printf("cluster: %s call failed: %s", call.ServiceMethod, call.Error) |
| 334 | n.lock.Lock() |
| 335 | if n.connected { |
| 336 | n.endpoint.Close() |
| 337 | n.connected = false |
| 338 | statsInc("LiveClusterNodes", -1) |
| 339 | go n.reconnect() |
| 340 | } |
| 341 | n.lock.Unlock() |
| 342 | } |
| 343 | } |
| 344 | |
| 345 | func (n *ClusterNode) callAsync(proc string, req, resp any, done chan *rpc.Call) *rpc.Call { |
| 346 | if done != nil && cap(done) == 0 { |