zhangmeng
2019-08-30 b9cf4660f85b3457763de72781bc7bc84411f5de
reflect every time get
1个文件已修改
9 ■■■■■ 已修改文件
shm.go 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
shm.go
@@ -16,8 +16,7 @@
    rw  *shm.ReadWriteCloser
    typ td
    recvData        []byte
    recvSliceHeader *reflect.SliceHeader
    recvData []byte
}
// Send impl interface Diliver
@@ -61,14 +60,14 @@
    if s.recvData == nil {
        s.recvData = make([]byte, maxRecvSize)
        s.recvSliceHeader = (*reflect.SliceHeader)(unsafe.Pointer(&s.recvData))
    }
    sliceHeader := (*reflect.SliceHeader)(unsafe.Pointer(&s.recvData))
    // sliceHeader.Cap = maxRecvSize
    s.recvSliceHeader.Len = maxRecvSize
    sliceHeader.Len = maxRecvSize
    n, err := s.rw.Read(s.recvData)
    if err == nil || err == io.EOF {
        s.recvSliceHeader.Len = n
        sliceHeader.Len = n
        return s.recvData, nil
    }