| | |
| | | return |
| | | case id := <-ch: |
| | | f.mapChanLock.Lock() |
| | | defer f.mapChanLock.Unlock() |
| | | for k, v := range f.mapChan { |
| | | v.life-- |
| | | if k == id { |
| | |
| | | delete(f.mapChan, k) |
| | | } |
| | | } |
| | | f.mapChanLock.Unlock() |
| | | |
| | | default: |
| | | time.Sleep(10 * time.Millisecond) |
| | | } |
| | |
| | | wg := &sync.WaitGroup{} |
| | | |
| | | for _, msg := range msgs { |
| | | f.fnLogger("######Maintain :", msg.Cid) |
| | | f.chLife <- msg.Cid |
| | | f.fnLogger("######Maintain Over :", msg.Cid) |
| | | |
| | | if c, ok := f.channelExist(msg.Cid); ok { |
| | | wg.Add(1) |
| | |
| | | |
| | | rMsg := *msg |
| | | |
| | | f.fnLogger("######Recv From: ", rMsg.Cid, " Chan: ", tchan) |
| | | |
| | | if !sdkhelper.ValidRemoteMessage(rMsg, f.typ, f.fnLogger) { |
| | | sdkhelper.EjectResult(nil, rMsg, out) |
| | | f.fnLogger("Face!!!!!!SkdMessage Invalid: ", tchan) |
| | |
| | | // conv to bgr24 and resize |
| | | imgW, imgH := int(i.Width), int(i.Height) |
| | | |
| | | f.fnLogger("######Run cid:", rMsg.Cid, "chan: ", tchan) |
| | | count, data, _ := f.handle.Run(i.Data, imgW, imgH, 3, tchan) |
| | | f.fnLogger("######Over run cid:", rMsg.Cid, "chan: ", tchan) |
| | | |
| | | f.fnLogger("######Eject cid:", rMsg.Cid, "chan: ", tchan) |
| | | sdkhelper.EjectResult(data, rMsg, out) |
| | | f.fnLogger("######Over eject cid:", rMsg.Cid, "chan: ", tchan) |
| | | |
| | | var id, name string |
| | | if rMsg.Tasklab != nil { |