Remove unnecessary Len check

pull/71/head
Andy Wang 5 years ago
parent cfa0a97edf
commit a131af3439

@ -80,9 +80,3 @@ func (d *datagramBuffer) Close() error {
d.rwCond.Broadcast() d.rwCond.Broadcast()
return nil return nil
} }
func (d *datagramBuffer) Len() int {
d.rwCond.L.Lock()
defer d.rwCond.L.Unlock()
return len(d.buf)
}

@ -44,7 +44,7 @@ func TestDatagramBuffer_RW(t *testing.T) {
"got", b2, "got", b2,
) )
} }
if pipe.Len() != 0 { if len(pipe.buf) != 0 {
t.Error("buf len is not 0 after finished reading") t.Error("buf len is not 0 after finished reading")
return return
} }

@ -5,5 +5,4 @@ import "io"
type recvBuffer interface { type recvBuffer interface {
io.ReadCloser io.ReadCloser
Write(Frame) error Write(Frame) error
Len() int
} }

@ -15,13 +15,6 @@ import (
var ErrBrokenStream = errors.New("broken stream") var ErrBrokenStream = errors.New("broken stream")
// ReadWriteCloseLener is io.ReadWriteCloser with Len()
// used for bufferedPipe and datagramBuffer
type ReadWriteCloseLener interface {
io.ReadWriteCloser
Len() int
}
type Stream struct { type Stream struct {
id uint32 id uint32
@ -83,20 +76,13 @@ func (s *Stream) Read(buf []byte) (n int, err error) {
} }
} }
if s.isClosed() { n, err = s.recvBuf.Read(buf)
// TODO: Len check may not be necessary as this can be offloaded to buffer implementation if err == io.EOF {
if s.recvBuf.Len() == 0 { return n, ErrBrokenStream
return 0, ErrBrokenStream
} else {
n, err = s.recvBuf.Read(buf)
log.Tracef("%v read from stream %v with err %v", n, s.id, err)
return
}
} else {
n, err = s.recvBuf.Read(buf)
log.Tracef("%v read from stream %v with err %v", n, s.id, err)
return
} }
log.Tracef("%v read from stream %v with err %v", n, s.id, err)
return
} }
// Write implements io.Write // Write implements io.Write

@ -107,7 +107,3 @@ func (sb *streamBuffer) Read(buf []byte) (int, error) {
func (sb *streamBuffer) Close() error { func (sb *streamBuffer) Close() error {
return sb.buf.Close() return sb.buf.Close()
} }
func (sb *streamBuffer) Len() int {
return sb.buf.Len()
}

Loading…
Cancel
Save