From be392a6596e481d82032d85060d1a072d327e3f4 Mon Sep 17 00:00:00 2001 From: 554325746@qq.com <554325746@qq.com> Date: 星期四, 22 八月 2019 15:30:35 +0800 Subject: [PATCH] test shm --- nng.go | 31 +++++++++++++++---------------- 1 files changed, 15 insertions(+), 16 deletions(-) diff --git a/nng.go b/nng.go index 1e9c1c0..5122398 100644 --- a/nng.go +++ b/nng.go @@ -21,26 +21,21 @@ "nanomsg.org/go-mangos/transport/all" ) -// type deliver -type td int - -const ( - agent = td(iota) - coactee -) - // NNG mangos wrap type NNG struct { - sock mangos.Socket - server bool - mode Mode - url string + sock mangos.Socket + typ td + mode Mode + url string arguments []interface{} } // Send impl interface Diliver func (n *NNG) Send(data []byte) error { + if n == nil { + return errors.New("please init NNG first") + } var err error if n.sock == nil { n.sock, err = n.makeNNG(agent) @@ -62,6 +57,10 @@ // Recv impl interface Diliver func (n *NNG) Recv() ([]byte, error) { + if n == nil { + return nil, errors.New("please init NNG first") + } + var err error if n.sock == nil { @@ -82,7 +81,7 @@ // Close impl interface Deliver func (n *NNG) Close() { - if n.sock != nil { + if n != nil && n.sock != nil { n.sock.Close() n.sock = nil } @@ -93,7 +92,7 @@ rmExistedIpcName(url) return &NNG{ - server: true, + typ: agent, mode: m, url: url, arguments: args, @@ -103,7 +102,7 @@ func nngClient(m Mode, url string, args ...interface{}) *NNG { return &NNG{ - server: false, + typ: coactee, mode: m, url: url, arguments: args, @@ -128,7 +127,7 @@ switch n.mode { case Bus: sock, err = n.busMakeNNG(typ) - case ReqRep: + case ReqRep, SurvResp: sock, err = n.rrMakeNNG(typ) default: sock, err = n.ppMakeNNG(typ) -- Gitblit v1.8.0