zhangmeng
2019-08-27 020e17cc5311d091d713eb4fabae2a3d50944916
add shm interface 2
3个文件已修改
27 ■■■■■ 已修改文件
deliver.go 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
nng.go 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
shm.go 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
deliver.go
@@ -11,6 +11,9 @@
    // Recv recv data
    Recv() ([]byte, error)
    // Recv2 recv to param
    Recv2([]byte) error
    // Close close Deliver
    Close()
}
nng.go
@@ -79,6 +79,12 @@
}
// Recv2 impl interface
func (n *NNG) Recv2(data []byte) (err error) {
    data, err = n.Recv()
    return err
}
// Close impl interface Deliver
func (n *NNG) Close() {
    if n != nil && n.sock != nil {
shm.go
@@ -39,8 +39,7 @@
    // data := make([]byte, maxRecvSize)
    // n, err := s.rw.Read(data)
    // if err == nil || err == io.EOF {
    //     data := make([]byte, maxRecvSize)
    //     copy(data, s.recvData)
    //     data := data[:n:n]
    //     return data, nil
    // }
@@ -51,6 +50,21 @@
    return nil, err
}
// Recv2 impl interface
func (s *SHM) Recv2(data []byte) error {
    if s == nil || s.rw == nil {
        return errors.New("please open shm consumer first")
    }
    n, err := s.rw.Read(data)
    if err == nil || err == io.EOF {
        data = data[:n:n]
        return nil
    }
    return err
}
// Close impl interface Deliver
func (s *SHM) Close() {
    if s == nil {