From 2d390df9ede39c9d7c34bd8190b9329cfc371325 Mon Sep 17 00:00:00 2001 From: zhangmeng <775834166@qq.com> Date: 星期五, 27 九月 2019 16:19:05 +0800 Subject: [PATCH] remove exist ipc --- nng.go | 23 +++++++++++++++++++---- 1 files changed, 19 insertions(+), 4 deletions(-) diff --git a/nng.go b/nng.go index 751feac..812cc37 100644 --- a/nng.go +++ b/nng.go @@ -33,6 +33,9 @@ // 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) @@ -46,14 +49,17 @@ time.Sleep(time.Duration(surveyorTime*2) * time.Second) } - msg := mangos.NewMessage(len(data)) + msg := mangos.NewMessage(1) msg.Body = data return n.sock.SendMsg(msg) - } // 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 { @@ -72,9 +78,16 @@ } +// Recv2 impl interface +func (n *NNG) Recv2(data []byte) (l int, err error) { + data, err = n.Recv() + l = len(data) + return l, err +} + // Close impl interface Deliver func (n *NNG) Close() { - if n.sock != nil { + if n != nil && n.sock != nil { n.sock.Close() n.sock = nil } @@ -120,7 +133,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) @@ -135,6 +148,8 @@ if s[0] == "ipc" { if _, err := os.Stat(s[1]); err == nil { os.Remove(s[1]) + } else if !os.IsNotExist(err) { + os.Remove(s[1]) } } } -- Gitblit v1.8.0