func (port *Port) Read(buf []byte) error {
	for off := 0; off < len(buf); {
		n, err := port.ReadAvailable(buf[off:])
		if err != nil {
			return err
		}
		off += n
	}
	return nil
}
// Read reads from port into buf, blocking if necessary
// until exactly len(buf) bytes have been read.
Read reads from port into buf, blocking if necessary
until exactly len(buf) bytes have been read.
// Read reads from port into buf blocking if necessary // until exactly len ( buf ) bytes have been read .
func (port *Port) Read(buf []byte) error {
	for off := 0; off < len(buf); {
		n, err := port.ReadAvailable(buf[off:])
		if err != nil {
			return err
		}
		off += n
	}
	return nil
}
func ( port * Port ) Read ( buf [ ] byte ) error { for off := 0 ; off < len ( buf ) ; { n , err := port . ReadAvailable ( buf [ off : ] ) if err != nil { return err } off += n } return nil }
Read reads from port into buf, blocking if necessary
until exactly len(buf) bytes have been read.
Read reads from port into buf blocking if necessary until exactly len ( buf ) bytes have been read .