zhangmeng
2019-05-20 9a89af693b9336633bcac2a652c294f782e6b3b1
提交 | 用户 | age
9d4b12 1 package deliver
Z 2
3 // Deliver define a interface how to use mangos
4 type Deliver interface {
5
6     // Send send data
7     Send([]byte) error
8
9     // Recv recv data
10     Recv() ([]byte, error)
aaae99 11
Z 12     // Close close Deliver
13     Close()
9d4b12 14 }
Z 15
6887a3 16 // NewServer create listener args presentive for parameter with protocal, e.g. sub topic
Z 17 func NewServer(m Mode, url string, args ...interface{}) Deliver {
9d4b12 18
Z 19     if m > ModeStart && m < ModeNNG {
6887a3 20         return nngServer(m, url, args...)
9a89af 21     } else if m == Shm {
Z 22         return shmServer(m, url, args...)
9d4b12 23     }
Z 24     return nil
25 }
26
6887a3 27 // NewClient create dialer args presentive for parameter with protocal, e.g. sub topic
Z 28 func NewClient(m Mode, url string, args ...interface{}) Deliver {
9d4b12 29
Z 30     if m > ModeStart && m < ModeNNG {
6887a3 31         return nngClient(m, url, args...)
9a89af 32     } else if m == Shm {
Z 33         return shmClient(m, url, args...)
9d4b12 34     }
Z 35
36     return nil
37 }