zhangmeng
2019-09-27 2d390df9ede39c9d7c34bd8190b9329cfc371325
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])
      }
   }
}