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