| | |
| | | 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 { |