From 9893edc6dda92601c81b249967384f6626abc272 Mon Sep 17 00:00:00 2001
From: zhangmeng <775834166@qq.com>
Date: 星期五, 17 五月 2019 09:49:21 +0800
Subject: [PATCH] add mangos bus interface to impl
---
nng.go | 23 +++++++++++++++++------
1 files changed, 17 insertions(+), 6 deletions(-)
diff --git a/nng.go b/nng.go
index 07f2fb5..eed0e59 100644
--- a/nng.go
+++ b/nng.go
@@ -20,6 +20,15 @@
"nanomsg.org/go-mangos/transport/all"
)
+// type deliver
+type td int
+
+const (
+ producer = td(iota)
+ consumer
+ star //mangos bus protocol
+)
+
// NNG mangos wrap
type NNG struct {
sock mangos.Socket
@@ -34,7 +43,7 @@
func (n *NNG) Send(data []byte) error {
var err error
if n.sock == nil {
- n.sock, err = n.makeNNG(true)
+ n.sock, err = n.makeNNG(producer)
if err != nil {
fmt.Println("create nng producer error")
return err
@@ -56,7 +65,7 @@
var err error
if n.sock == nil {
- n.sock, err = n.makeNNG(false)
+ n.sock, err = n.makeNNG(consumer)
if err != nil {
fmt.Println("create nng consumer error")
return nil, err
@@ -102,18 +111,20 @@
}
-func proto(producer bool, m Mode) protocol {
- if producer {
+func proto(typ td, m Mode) protocol {
+ if typ == producer {
return protoProducer(m)
+ } else if typ == consumer {
+ return protoConsumer(m)
}
return protoConsumer(m)
}
-func (n *NNG) makeNNG(producer bool) (mangos.Socket, error) {
+func (n *NNG) makeNNG(typ td) (mangos.Socket, error) {
var sock mangos.Socket
var err error
- if sock, err = newSocket(proto(producer, n.mode)); err != nil {
+ if sock, err = newSocket(proto(typ, n.mode)); err != nil {
return nil, err
}
--
Gitblit v1.8.0