func New(source Source) *Stream {
	return &Stream{
		Source: source,
		writer: source,
		cond:   sync.NewCond(new(sync.Mutex)),
		closed: false,
	}
}
// New returns a new stream. A stream will have one writer and multiple readers
// which can read from the stream concurrently. The stream is backed by a source
// which is typically an in-memory slice of bytes or a file on disk. When no
// data is available for readers, readers will be suspended from execution. When
// the writer writes new data to the stream all readers are notified. Only when
// the writer explicitly declares the end of the stream (no more data to write),
// readers will begin to receive EOF on following reads.
New returns a new stream. A stream will have one writer and multiple readers
which can read from the stream concurrently. The stream is backed by a source
which is typically an in-memory slice of bytes or a file on disk. When no
data is available for readers, readers will be suspended from execution. When
the writer writes new data to the stream all readers are notified. Only when
the writer explicitly declares the end of the stream (no more data to write),
readers will begin to receive EOF on following reads.
// New returns a new stream . A stream will have one writer and multiple readers // which can read from the stream concurrently . The stream is backed by a source // which is typically an in - memory slice of bytes or a file on disk . When no // data is available for readers readers will be suspended from execution . When // the writer writes new data to the stream all readers are notified . Only when // the writer explicitly declares the end of the stream ( no more data to write ) // readers will begin to receive EOF on following reads .
func New(source Source) *Stream {
	return &Stream{
		Source: source,
		writer: source,
		cond:   sync.NewCond(new(sync.Mutex)),
		closed: false,
	}
}
func New ( source Source ) * Stream { return & Stream { Source : source , writer : source , cond : sync . NewCond ( new ( sync . Mutex ) ) , closed : false , } }
New returns a new stream.
New returns a new stream .