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