From 19445d14e73f4bb96e218a65e126ae526f89537d Mon Sep 17 00:00:00 2001
From: zhangmeng <775834166@qq.com>
Date: 星期三, 08 五月 2019 14:14:59 +0800
Subject: [PATCH] context使用

---
 decoder/work/service/ipcsender.go |   19 ++++++-------------
 1 files changed, 6 insertions(+), 13 deletions(-)

diff --git a/decoder/work/service/ipcsender.go b/decoder/work/service/ipcsender.go
index d65b892..a582c28 100644
--- a/decoder/work/service/ipcsender.go
+++ b/decoder/work/service/ipcsender.go
@@ -12,7 +12,7 @@
 
 // Sender decoder ingo
 type Sender struct {
-	ctxIPC *ContextIPC
+	ctx context.Context
 
 	cameraID  string
 	streamURL string
@@ -22,13 +22,12 @@
 }
 
 // NewSender Sender
-func NewSender(cameraID, streamURL, ipcURL string) *Sender {
-	ctx, cancel := context.WithCancel(context.Background())
+func NewSender(ctx context.Context, cameraID, streamURL, ipcURL string) *Sender {
 
 	fmt.Printf("create ipc %s for decode : %s, on camera id %s\n", ipcURL, streamURL, cameraID)
 
 	return &Sender{
-		ctxIPC: &ContextIPC{ctx, cancel},
+		ctx: ctx,
 
 		cameraID:  cameraID,
 		streamURL: streamURL,
@@ -39,7 +38,7 @@
 func (s *Sender) serializeImageInfo(img <-chan ImageInfo, data chan<- []byte) {
 	for {
 		select {
-		case <-s.ctxIPC.ctx.Done():
+		case <-s.ctx.Done():
 			fmt.Println("stop Sender")
 			return
 		case i := <-img:
@@ -92,7 +91,7 @@
 
 // RunAsServer run a IPC server
 func (s *Sender) RunAsServer() {
-	i := ipc.NewServer(s.ctxIPC.ctx, s.ipcURL)
+	i := ipc.NewServer(s.ctx, s.ipcURL)
 	fmt.Println("ipc :", s.ipcURL, " cameraid:", s.cameraID)
 	s.run(i)
 
@@ -100,13 +99,7 @@
 
 // RunAsClient run as a IPC client
 func (s *Sender) RunAsClient() {
-	i := ipc.NewClient(s.ctxIPC.ctx, s.ipcURL)
+	i := ipc.NewClient(s.ctx, s.ipcURL)
 	fmt.Println("ipc :", s.ipcURL, " cameraid:", s.cameraID)
 	s.run(i)
-}
-
-// Stop stop run decoder, must run in goroutine
-func (s *Sender) Stop() {
-	s.ffmpeg.Free()
-	s.ctxIPC.cancel()
 }

--
Gitblit v1.8.0