From 5ff1f32410e0697e581f6c389c8c22c5abd474c0 Mon Sep 17 00:00:00 2001
From: zhangmeng <775834166@qq.com>
Date: 星期四, 16 五月 2019 15:17:32 +0800
Subject: [PATCH] fix

---
 nng.go |   25 +++++++++++++++----------
 1 files changed, 15 insertions(+), 10 deletions(-)

diff --git a/nng.go b/nng.go
index 77619e3..6cf8b52 100644
--- a/nng.go
+++ b/nng.go
@@ -24,6 +24,7 @@
 // NNG mangos wrap
 type NNG struct {
 	sock mangos.Socket
+	raw  bool
 }
 
 // Send impl interface Diliver
@@ -32,12 +33,12 @@
 		return errors.New("please init NNG first")
 	}
 
-	switch n.sock.GetProtocol().Number() {
-	case mangos.ProtoSurveyor:
-		time.Sleep(surveyorTime * 2)
-	default:
-	}
-	if _, err := n.sock.GetOption(mangos.OptionRaw); err == nil {
+	// switch n.sock.GetProtocol().Number() {
+	// case mangos.ProtoSurveyor:
+	// 	time.Sleep(surveyorTime * 2)
+	// default:
+	// }
+	if n.raw {
 		msg := mangos.NewMessage(len(data))
 		msg.Body = data
 		return n.sock.SendMsg(msg)
@@ -51,11 +52,13 @@
 	if n.sock == nil {
 		return nil, errors.New("please init NNG first")
 	}
-	if _, err := n.sock.GetOption(mangos.OptionRaw); err == nil {
-		if msg, err := n.sock.RecvMsg(); err == nil {
-			return msg.Body, err
+	if n.raw {
+		var msg *mangos.Message
+		var err error
+		if msg, err = n.sock.RecvMsg(); err != nil {
+			return nil, err
 		}
-		return nil, err
+		return msg.Body, nil
 	}
 	return n.sock.Recv()
 }
@@ -81,6 +84,7 @@
 		}
 		return &NNG{
 			sock,
+			true,
 		}
 	}
 
@@ -102,6 +106,7 @@
 
 		return &NNG{
 			sock,
+			true,
 		}
 	}
 

--
Gitblit v1.8.0