From 5fdc5059555e7a4cf533b7bfdb79025f23fa2b6a Mon Sep 17 00:00:00 2001
From: 554325746@qq.com <554325746@qq.com>
Date: 星期三, 26 六月 2019 14:53:46 +0800
Subject: [PATCH] task with zhangmeng ok release 2
---
camera/camera.go | 43 ++++++++++++++++++++++---------------------
1 files changed, 22 insertions(+), 21 deletions(-)
diff --git a/camera/camera.go b/camera/camera.go
index 1f501f1..b24b337 100644
--- a/camera/camera.go
+++ b/camera/camera.go
@@ -3,30 +3,28 @@
import (
"errors"
- "basic.com/dbapi.git"
"basic.com/valib/deliver.git"
"github.com/long/test/sdk"
"github.com/long/test/util"
+ "basic.com/pubsub/protomsg.git"
"context"
"fmt"
"sync"
- "time"
+ // "time"
)
//var SocketManage = make(map[string]SocketContext)
var SocketManage sync.Map
-var Initchannel = make(chan string)
+var Initchannel = make(chan protomsg.Camera )
type SocketContext struct {
Sock deliver.Deliver
Context context.Context
Cancel context.CancelFunc
}
-
-var camval dbapi.CameraApi
func Init() {
@@ -40,12 +38,14 @@
go AutoDelCamera(util.Cameraflag)
for _, cam := range util.CameraIds {
- Initchannel <- cam.Id
+ Initchannel <- cam
}
}
-func CreateCamera(camera chan string) {
- for camid := range camera {
+func CreateCamera(camera chan protomsg.Camera) {
+ for cam := range camera {
+ camid := cam.Id
+ caddr := cam.Addr
if _, ok := SocketManage.Load(camid); !ok {
url := fmt.Sprintf("ipc:///tmp/%s.ipc", camid)
@@ -55,9 +55,9 @@
continue
}
- go func(cid string, sock SocketContext) {
- Recv(cid, sock)
- }(id, socketlisten)
+ go func(cid string, cameraaddr string, sock SocketContext) {
+ Recv(cid, cameraaddr, sock)
+ }(id, caddr, socketlisten)
}
}
}
@@ -87,7 +87,11 @@
for key, op := range cameraChanDel {
if op == "add" {
- Initchannel <- key
+ for _, value := range util.CameraIds {
+ if key == value.Id{
+ Initchannel <- value
+ }
+ }
} else {
if sock, ok := SocketManage.Load(key); ok {
if socket, sok := sock.(SocketContext); sok {
@@ -118,7 +122,7 @@
return cameraid, socket, nil
}
-func Recv(cameraid string, socket SocketContext) {
+func Recv(cameraid string, caddr string , socket SocketContext) {
var msg []byte
var err error
for {
@@ -133,18 +137,17 @@
} else {
fmt.Println()
fmt.Println("============== one msg input ==========")
- fmt.Println("cameraid: ", cameraid, len(msg))
for _, taskid := range GetAlltask(cameraid) {
- time.Sleep(5 * time.Second)
+ // time.Sleep(5 * time.Second)
fmt.Println("cameraid: ", cameraid, " taskid: ", taskid)
- Taskdolist(cameraid, taskid, msg)
+ Taskdolist(cameraid, caddr, taskid, msg)
}
}
}
}
}
-// 鏍规嵁cid 鑾峰彇 鎵�鏈夌殑浠诲姟
+// 鎹甤id 鑾峰彇 鎵�鏈夌殑浠诲姟
func GetAlltask(cid string) (tasks []string) {
for _, camsingle := range util.CameraTasks {
if cid == camsingle.Camera.Id {
@@ -157,10 +160,10 @@
return
}
-func Taskdolist(cid string, taskid string, data []byte) {
+func Taskdolist(cid string, caddr string, taskid string, data []byte) {
// 鏁版嵁鍔犲伐(鎵撴爣绛�)
- sdkmsg := sdk.SdkData(cid, taskid, data)
+ sdkmsg := sdk.SdkData(cid, caddr, taskid, data)
if sdkmsg.Tasklab == nil {
fmt.Printf("cid:%s 娌℃湁浠诲姟%s\n", cid, taskid)
return
@@ -169,9 +172,7 @@
// 璁$畻鍒嗗彂鐨勪富棰�
SendTopic := sdk.SdkSendTopic(sdkmsg)
if _, ok := sdk.SdkMap[SendTopic]; ok {
- fmt.Println("鍒嗗彂鐨勪富棰樺瓨鍦�")
sdk.SdkMap[SendTopic] <- sdkmsg
- //fmt.Println("閲嶆柊寮�濮嬪惊鐜�: ", sdk.SdkMap)
} else {
fmt.Println("鍒嗗彂鐨勪富棰樹笉瀛樺湪")
}
--
Gitblit v1.8.0