func (s *Stream) CloseWrite() error {
	s.cond.L.Lock()
	defer s.cond.L.Unlock()
	defer s.cond.Broadcast()
	if s.closed {
		return errors.New("Multireader closed multiple times")
	}
	s.closed = true
	return nil
}
// CloseWrite is called when the writer declares the end of the stream.
// This is a clear indication for readers, that no more data will be written to
// the stream. Following this call, readers will begin receiving EOF on calls to
// read. Readers may still join the stream after the stream is closed
CloseWrite is called when the writer declares the end of the stream.
This is a clear indication for readers, that no more data will be written to
the stream. Following this call, readers will begin receiving EOF on calls to
read. Readers may still join the stream after the stream is closed
// CloseWrite is called when the writer declares the end of the stream . // This is a clear indication for readers that no more data will be written to // the stream . Following this call readers will begin receiving EOF on calls to // read . Readers may still join the stream after the stream is closed
func (s *Stream) CloseWrite() error {
	s.cond.L.Lock()
	defer s.cond.L.Unlock()
	defer s.cond.Broadcast()
	if s.closed {
		return errors.New("Multireader closed multiple times")
	}
	s.closed = true
	return nil
}
func ( s * Stream ) CloseWrite ( ) error { s . cond . L . Lock ( ) defer s . cond . L . Unlock ( ) defer s . cond . Broadcast ( ) if s . closed { return errors . New ( " " ) } s . closed = true return nil }
CloseWrite is called when the writer declares the end of the stream.
CloseWrite is called when the writer declares the end of the stream .