func (s *stream) Read(p []byte) (int, error) {
	if s.remaining <= 0 {
		return 0, io.EOF
	}
	if s.remaining < int64(len(p)) {
		p = p[0:s.remaining]
	}
	n, err := s.src.Read(p)
	s.remaining -= int64(n)
	return n, err
}
func (s *stream) Read(p []byte) (int, error) {
	if s.remaining <= 0 {
		return 0, io.EOF
	}
	if s.remaining < int64(len(p)) {
		p = p[0:s.remaining]
	}
	n, err := s.src.Read(p)
	s.remaining -= int64(n)
	return n, err
}
func ( s * stream ) Read ( p [ ] byte ) ( int , error ) { if s . remaining <= 0 { return 0 , io . EOF } if s . remaining < int64 ( len ( p ) ) { p = p [ 0 : s . remaining ] } n , err := s . src . Read ( p ) s . remaining -= int64 ( n ) return n , err }
// Read is implementation of io.Reader's Read.
Read is implementation of io . Reader s Read .