code: func readPacket(reader *bufio.Reader, start *int, end int) (Packet, error) {
  	//var buf []byte
  	buf, err := reader.Peek(1)
  	if err != nil {
  		return nil, err
  	}
  
  	// An OSC Message starts with a '/'
  	if buf[0] == '/' {
  		packet, err := readMessage(reader, start)
  		if err != nil {
  			return nil, err
  		}
  		return packet, nil
  	}
  	if buf[0] == '#' { // An OSC bundle starts with a '#'
  		packet, err := readBundle(reader, start, end)
  		if err != nil {
  			return nil, err
  		}
  		return packet, nil
  	}
  
  	var p Packet
  	return p, nil
  }
docs: // receivePacket receives an OSC packet from the given reader.