| | |
| | | // Recv recv data |
| | | Recv() ([]byte, error) |
| | | |
| | | // Recv2 recv to param |
| | | Recv2([]byte) error |
| | | |
| | | // Close close Deliver |
| | | Close() |
| | | } |
| | |
| | | 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...) |
| | | } |
| | |
| | | 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...) |
| | | } |