func (b *Buffer) Close() {
	b.wz__.Lock()
	defer b.wz__.Unlock()
	//
	if _, ok := <-b.wch; !ok {
		close(b.rch)
		return
	}
	if !b.writeEOF() { // Idempotent
		return
	}
	b.sendRead()
}
// Close disallows future Writes and sends an EOF signal to the read-side.
// The read-side remains functional.
Close disallows future Writes and sends an EOF signal to the read-side.
The read-side remains functional.
// Close disallows future Writes and sends an EOF signal to the read - side . // The read - side remains functional .
func (b *Buffer) Close() {
	b.wz__.Lock()
	defer b.wz__.Unlock()
	if _, ok := <-b.wch; !ok {
		close(b.rch)
		return
	}
	if !b.writeEOF() {  Idempotent
		return
	}
	b.sendRead()
}
func ( b * Buffer ) Close ( ) { b . wz__ . Lock ( ) defer b . wz__ . Unlock ( ) if _ , ok := <- b . wch ; ! ok { close ( b . rch ) return } if ! b . writeEOF ( ) { return } b . sendRead ( ) }
Close disallows future Writes and sends an EOF signal to the read-side.
Close disallows future Writes and sends an EOF signal to the read - side .
// // Idempotent