func (b *Buffer) Write(v interface{}) error {
	b.wz__.Lock()
	defer b.wz__.Unlock()
	//
	// Obtain permission to write
	if _, ok := <-b.wch; !ok {
		close(b.rch)
		return io.ErrUnexpectedEOF
	}
	if readable, err := b.write(v); !readable || err != nil {
		return err
	}
	b.sendRead()
	return nil
}
// Write can block. It will return an io.ErrUnexpectedEOF if the buffer is closed.
Write can block. It will return an io.ErrUnexpectedEOF if the buffer is closed.
// Write can block . It will return an io . ErrUnexpectedEOF if the buffer is closed .
func (b *Buffer) Write(v interface{}) error {
	b.wz__.Lock()
	defer b.wz__.Unlock()
	 Obtain permission to write
	if _, ok := <-b.wch; !ok {
		close(b.rch)
		return io.ErrUnexpectedEOF
	}
	if readable, err := b.write(v); !readable || err != nil {
		return err
	}
	b.sendRead()
	return nil
}
func ( b * Buffer ) Write ( v interface { } ) error { b . wz__ . Lock ( ) defer b . wz__ . Unlock ( ) if _ , ok := <- b . wch ; ! ok { close ( b . rch ) return io . ErrUnexpectedEOF } if readable , err := b . write ( v ) ; ! readable || err != nil { return err } b . sendRead ( ) return nil }
Write can block.
Write can block .
// // Obtain permission to write