Exemple #1
0
void CPageDisk::OnSelChangedDataPattern()
{
	switch (m_CDataPattern.GetCurSel()) {
		case DATA_PATTERN_REPEATING_BYTES:
			if(m_RepeatingBytesMessageBox_Shown==false)
				AfxMessageBox("'Repeating bytes' is defined as: Each IO having a unique set of repeating bytes (ex: First IO is all A's, second IO is all B's)\n\nThe command to command delay is slightly (~12%, but can be longer in high IO environments) longer with this configuration.");
			m_RepeatingBytesMessageBox_Shown = true;
			break;
		case DATA_PATTERN_PSEUDO_RANDOM:
			if(m_PseudoRandomMessageBox_Shown==false)
				AfxMessageBox("'Pseudo random' is defined as: A buffer being filled with random data and is reused for every write IO.\n\nNote: This was the behavior of all IOMeter versions up to and including 2006.07.27");
			m_PseudoRandomMessageBox_Shown = true;
			break;
		case DATA_PATTERN_FULL_RANDOM:
			if(m_FullRandomMessageBox_Shown==false)
				AfxMessageBox("'Full random' is defind as: A 16MB buffer is generated by IOMeter which is filled with random data. Each write IO randomly indexes into this buffer.\n\nNote: The 16MB buffer may impact performance tests that are sensitive to memory utilization. Drives that implement dedupe compression may still compress this data.");
			m_FullRandomMessageBox_Shown = true;
			break;
	}

	Manager *manager;
	Worker *worker;

	// Seeing what kind of item is selected.
	switch (theApp.pView->m_pWorkerView->GetSelectedType()) {
		case WORKER:
			worker = theApp.pView->m_pWorkerView->GetSelectedWorker();
			worker->SetDataPattern(m_CDataPattern.GetCurSel());
			break;
		case MANAGER:
			manager = theApp.pView->m_pWorkerView->GetSelectedManager();
			manager->SetDataPattern(m_CDataPattern.GetCurSel(), GenericDiskType);
			break;
		case ALL_MANAGERS:
			theApp.manager_list.SetDataPattern(m_CDataPattern.GetCurSel(), GenericDiskType);
			break;
	}
	EnableWindow();
}