zhangmeng
2019-08-26 a7b93ee3558e6da945991d61f64b4c7b44dd132f
readwriter.go
@@ -56,8 +56,40 @@
   return rw.name
}
// Read
// DirectRead create byte in func
func (rw *ReadWriteCloser) DirectRead() ([]byte, error) {
   buf, err := rw.GetReadBuffer()
   if err != nil {
      return nil, err
   }
   data := make([]byte, len(buf.Data))
   copy(data, buf.Data)
   isEOF := buf.Flags[eofFlagIndex]&eofFlagMask != 0
   if err = rw.SendReadBuffer(buf); err != nil {
      return nil, err
   }
   if isEOF {
      return nil, io.EOF
   }
   return data, nil
}
// Peek get length
func (rw *ReadWriteCloser) Peek() (n int, err error) {
   buf, err := rw.GetReadBuffer()
   if err != nil {
      return 0, err
   }
   return len(buf.Data), nil
}
// Read
func (rw *ReadWriteCloser) Read(p []byte) (n int, err error) {
   buf, err := rw.GetReadBuffer()
   if err != nil {