func newBuffer() *buffer {
	e := new(element)
	b := &buffer{
		Cond: newCond(),
		head: e,
		tail: e,
	}
	return b
}
newBuffer returns an empty buffer that is not closed.
package ssh
import (
	"io"
	"sync"
)
type buffer struct {
	*sync.Cond
	head *element  
	tail *element  
	closed bool
}
type element struct {
	buf  []byte
	next *element
}