zhangmeng
2019-08-30 b9cf4660f85b3457763de72781bc7bc84411f5de
deliver.go
@@ -11,6 +11,9 @@
   // Recv recv data
   Recv() ([]byte, error)
   // Recv2 recv to param
   Recv2([]byte) (int, error)
   // Close close Deliver
   Close()
}
@@ -21,7 +24,10 @@
   if m > ModeStart && m < ModeNNG {
      return nngServer(m, url, args...)
   } else if m == Shm {
      s, _ := shmServer(m, url, args...)
      s, err := shmServer(m, url, args...)
      if err != nil {
         s = nil
      }
      return s
   }
   return nil
@@ -33,7 +39,10 @@
   if m > ModeStart && m < ModeNNG {
      return nngClient(m, url, args...)
   } else if m == Shm {
      s, _ := shmClient(m, url, args...)
      s, err := shmClient(m, url, args...)
      if err != nil {
         s = nil
      }
      return s
   }
@@ -44,7 +53,11 @@
func NewServerWithError(m Mode, url string, args ...interface{}) (Deliver, error) {
   if m > ModeStart && m < ModeNNG {
      return nngServer(m, url, args...), nil
      s := nngServer(m, url, args...)
      if s == nil {
         return nil, errors.New("nng create server error")
      }
      return s, nil
   } else if m == Shm {
      return shmServer(m, url, args...)
   }
@@ -55,7 +68,43 @@
func NewClientWithError(m Mode, url string, args ...interface{}) (Deliver, error) {
   if m > ModeStart && m < ModeNNG {
      return nngClient(m, url, args...), nil
      s := nngClient(m, url, args...)
      if s == nil {
         return nil, errors.New("nng create client error")
      }
      return s, nil
   } else if m == Shm {
      return shmClient(m, url, args...)
   }
   return nil, errors.New("please choose a suitable deliver.mode")
}
// NewServerWithTimeout with timeout
func NewServerWithTimeout(m Mode, url string, tm int, args ...interface{}) (Deliver, error) {
   if m > ModeStart && m < ModeNNG {
      setTimeOut(tm)
      s := nngServer(m, url, args...)
      if s == nil {
         return nil, errors.New("nng create server error")
      }
      return s, nil
   } else if m == Shm {
      return shmServer(m, url, args...)
   }
   return nil, errors.New("please choose a suitable deliver.mode")
}
// NewClientWithTimeout with timeout, tm unit millisecond
func NewClientWithTimeout(m Mode, url string, tm int, args ...interface{}) (Deliver, error) {
   if m > ModeStart && m < ModeNNG {
      setTimeOut(tm)
      s := nngClient(m, url, args...)
      if s == nil {
         return nil, errors.New("nng create client error")
      }
      return s, nil
   } else if m == Shm {
      return shmClient(m, url, args...)
   }