本文整理汇总了C++中Worker::GetAccessSpec方法的典型用法代码示例。如果您正苦于以下问题:C++ Worker::GetAccessSpec方法的具体用法?C++ Worker::GetAccessSpec怎么用?C++ Worker::GetAccessSpec使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Worker
的用法示例。
在下文中一共展示了Worker::GetAccessSpec方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SaveResults
//
// Saving the access specification list to a result file.
// Saves only the currently active access specs.
//
BOOL AccessSpecList::SaveResults( ostream& outfile )
{
int i, j;
int access_count, manager_count, worker_count, current_access_index;
Manager *mgr;
Worker *wkr;
BOOL *spec_active;
Test_Spec *spec;
outfile << "'Access specifications" << endl;
access_count = Count();
spec_active = new BOOL[ access_count ];
// Determine which access specs are active for the current test
// Start by marking all access specs inactive.
for ( i = 1; i < access_count; i++ )
{
spec_active[i] = FALSE;
}
current_access_index = theApp.pView->GetCurrentAccessIndex();
// Now go through all the workers and mark each worker's current access spec
// as active, IF the worker is actually doing anything in this test.
manager_count = theApp.manager_list.ManagerCount();
for ( i = 0; i < manager_count; i++ )
{
mgr = theApp.manager_list.GetManager( i );
worker_count = mgr->WorkerCount();
for ( j = 0; j < worker_count; j++ )
{
wkr = mgr->GetWorker( j );
if ( wkr->ActiveInCurrentTest() )
{
spec_active[ IndexByRef( wkr->GetAccessSpec(
current_access_index ) ) ] = TRUE;
}
}
}
// Save all the active access specs except the idle spec.
for ( i = 1; i < access_count; i++ )
{
if ( !spec_active[i] )
continue;
spec = Get( i );
outfile << "'Access specification name,default assignment" << endl;
outfile << spec->name << "," << spec->default_assignment << endl;
// Write access specifications to a file, data comma separated.
outfile << "'size,% of size,% reads,% random,delay,burst,align,reply" << endl;
for ( int line_index = 0; line_index < MAX_ACCESS_SPECS; line_index++ )
{
if ( spec->access[line_index].of_size == IOERROR )
break;
outfile
<< spec->access[line_index].size << ","
<< spec->access[line_index].of_size << ","
<< spec->access[line_index].reads << ","
<< spec->access[line_index].random << ","
<< spec->access[line_index].delay << ","
<< spec->access[line_index].burst << ","
<< spec->access[line_index].align << ","
<< spec->access[line_index].reply << endl;
}
}
outfile << "'End access specifications" << endl;
delete spec_active;
return TRUE;
}
示例2: ShowAssignedAccess
//.........这里部分代码省略.........
{
SetAssignedAccess( FALSE );
return;
}
// Enable the Assigned Access Spec listbox.
SetAssignedAccess( TRUE );
// Only display items in the listbox if all the descended workers
// have the same access spec list.
if ( !theApp.manager_list.AreAccessSpecsIdentical() )
return;
// All access specs are the same. Show the specs stored by any worker.
// Find a manager with any non-client workers.
mgr_count = theApp.manager_list.ManagerCount();
for ( m = 0; m < mgr_count; m++ )
{
mgr = theApp.manager_list.GetManager( m );
wkr_count = mgr->WorkerCount();
if ( wkr_count > mgr->WorkerCount( GenericClientType ) )
break;
}
// Find the manager's first non-client worker.
for ( w = 0; w < wkr_count; w++ )
{
// Find the first non-client worker.
wkr = mgr->GetWorker( w );
if ( !IsType( wkr->Type(), GenericClientType ) )
break;
}
break;
case MANAGER:
mgr = theApp.pView->m_pWorkerView->GetSelectedManager();
wkr_count = mgr->WorkerCount();
// Disable the access spec list if there are no non-client workers.
if ( wkr_count == mgr->WorkerCount( GenericClientType ) )
{
SetAssignedAccess( FALSE );
return;
}
// Enable the Assigned Access Spec listbox.
SetAssignedAccess( TRUE );
// Only display items in the listbox if all the descended workers
// have the same access spec list.
if ( !mgr->AreAccessSpecsIdentical() )
return;
// All the access specs are the same.
// Find the first non-client worker.
for ( w = 0; w < wkr_count; w++ )
{
wkr = mgr->GetWorker( w );
if ( !IsType( wkr->Type(), GenericClientType ) )
break;
}
break;
case WORKER:
wkr = theApp.pView->m_pWorkerView->GetSelectedWorker();
if ( IsType( wkr->Type(), GenericClientType ) )
{
// Worker is a net client. Display it's net server's spec
// assignment, but disable the view.
wkr = wkr->net_partner;
SetAssignedAccess( FALSE );
}
else
{
SetAssignedAccess( TRUE );
}
break;
}
if ( !wkr )
{
ErrorMessage( "No valid worker in CPageAccess::ShowAssignedAccess()." );
return;
}
// Add the Access Spec to the assigned access spec list view.
spec_count = wkr->AccessSpecCount();
for ( s = 0; s < spec_count; s++ )
{
spec = wkr->GetAccessSpec( s );
// Set the data portion to pointer to the access spec in the
// worker's access spec list.
m_LAssignedAccess.InsertItem( LVIF_TEXT | LVIF_PARAM | LVIF_IMAGE,
s, spec->name, NULL, LVIS_SELECTED, BLUE,
(ULONG_PTR)spec );
}
}