From 3c5565466db64950d797fdc3e40c599d73a3e239 Mon Sep 17 00:00:00 2001
From: zhangmeng <775834166@qq.com>
Date: 星期二, 14 一月 2020 15:20:24 +0800
Subject: [PATCH] debug
---
run.go | 68 +++++++++++++++------------------
go.mod | 2
2 files changed, 32 insertions(+), 38 deletions(-)
diff --git a/go.mod b/go.mod
index d0c2093..77c7296 100644
--- a/go.mod
+++ b/go.mod
@@ -17,5 +17,5 @@
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135 // indirect
google.golang.org/grpc v1.26.0 // indirect
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc // indirect
- nanomsg.org/go-mangos v1.4.0 // indirect
+ nanomsg.org/go-mangos v1.4.0
)
diff --git a/run.go b/run.go
index f4402e4..dae12d4 100644
--- a/run.go
+++ b/run.go
@@ -15,8 +15,12 @@
"basic.com/pubsub/protomsg.git"
"basic.com/valib/godraw.git"
- "basic.com/valib/deliver.git"
"github.com/gogo/protobuf/proto"
+
+ "nanomsg.org/go-mangos"
+ "nanomsg.org/go-mangos/protocol/rep"
+ "nanomsg.org/go-mangos/transport/ipc"
+ "nanomsg.org/go-mangos/transport/tcp"
)
type reid struct {
@@ -77,38 +81,40 @@
func Run(ctx context.Context, i interface{}) {
s := i.(*reid)
- c := deliver.NewClient(deliver.ReqRep, s.ipc)
-
- sendTry := 0
- recvTry := 0
- maxTry := 30
-
- var msg []byte
+ var sock mangos.Socket
var err error
+ var msg []byte
+
+ for {
+ if sock, err = rep.NewSocket(); err != nil {
+ s.fnLogger("can't get new rep socket: ", err)
+ time.Sleep(5 * time.Millisecond)
+ } else {
+ break
+ }
+ }
+
+ sock.AddTransport(ipc.NewTransport())
+ sock.AddTransport(tcp.NewTransport())
+
+ for {
+ if err = sock.Listen(s.ipc); err != nil {
+ s.fnLogger("can't listen on rep socket: ", err)
+ time.Sleep(5 * time.Millisecond)
+ } else {
+ break
+ }
+ }
for {
select {
case <-ctx.Done():
+ sock.Close()
return
default:
- for {
- msg, err = c.Recv()
- if err == nil {
- recvTry = 0
- break
- }
- recvTry++
- if recvTry > maxTry {
- break
- }
+ if msg, err = sock.Recv(); err != nil {
s.fnLogger("REID~~~~~~Recv From HumanTrack error: ", err)
- time.Sleep(5 * time.Millisecond)
- continue
- }
-
- if recvTry > maxTry {
- recvTry = 0
continue
}
@@ -155,20 +161,8 @@
buf := float32SliceAsByteSlice(feat)
ioutil.WriteFile("./reid-feat-byte.txt", buf, 0644)
- for {
- err = c.Send(buf)
- if err == nil {
- sendTry = 0
- break
- }
- if sendTry > maxTry {
- sendTry = 0
- s.fnLogger("REID~~~~~~Send HumanTrack try: ", maxTry)
- break
- }
+ if err = sock.Send(buf); err != nil {
s.fnLogger("REID~~~~~~Send HumanTrack error: ", err)
- time.Sleep(5 * time.Millisecond)
- continue
}
}
--
Gitblit v1.8.0