code: func (c *Conn) Read(p []byte) (n int, err error) {
  	if len(c.Peeked) > 0 {
  		n = copy(p, c.Peeked)
  		c.Peeked = c.Peeked[n:]
  		if len(c.Peeked) == 0 {
  			c.Peeked = nil
  		}
  		return n, nil
  	}
  	return c.Conn.Read(p)
  }
docs: // Read reads bytes from the connection (using the buffer prior to actually reading)