| | |
| | | sockSub *sockClient //订阅主题的socket,线程实时接收消息,需要单独处理 |
| | | |
| | | sockWorker *sockClient //发给任意的server,短暂的request client |
| | | mtxWorker sync.Mutex //SendAndRecv可能不是线程安全的 |
| | | //mtxWorker sync.Mutex //SendAndRecv可能不是线程安全的 |
| | | |
| | | chSub chan TransInfo |
| | | chReply chan TransInfo |
| | |
| | | return err |
| | | } |
| | | |
| | | h.mtxWorker.Lock() |
| | | defer h.mtxWorker.Unlock() |
| | | //h.mtxWorker.Lock() |
| | | //defer h.mtxWorker.Unlock() |
| | | netNodes := append([]bhomebus.NetNode{}, bhomebus.NetNode{ |
| | | Key: h.conf.regKey, |
| | | }) |
| | |
| | | if err != nil { |
| | | return err |
| | | } |
| | | h.mtxWorker.Lock() |
| | | defer h.mtxWorker.Unlock() |
| | | //h.mtxWorker.Lock() |
| | | //defer h.mtxWorker.Unlock() |
| | | n := h.sockWorker.sock.SendtoTimeout(data, key, h.conf.sendTimeOut) |
| | | if n != 0 { |
| | | return fmt.Errorf("sendOnly ret n:%d", n) |
| | |
| | | rNodes := append([]bhomebus.NetNode{}, bhomebus.NetNode{ |
| | | Key: KEY_QUERY, |
| | | }) |
| | | h.mtxWorker.Lock() |
| | | defer h.mtxWorker.Unlock() |
| | | //h.mtxWorker.Lock() |
| | | //defer h.mtxWorker.Unlock() |
| | | var ret []bhomebus.Mesg |
| | | n := h.sockWorker.sock.SendandrecvTimeout(rNodes, data,&ret, h.conf.sendTimeOut) |
| | | h.printLog("requestCenter n:", n, "len(ret):", len(ret)) |