def CGGenclients(self):
     retList = []
     (cgWaitTimes, groupTestTime) = computeWaitTimes(self.roamInterval, self.dummyRoamBenchDict, self.dummyClientGroupNumsDict)
     maxSplitTime = 1800
     grpTestTime = -1
     CGnameList = self.Clientgroup.keys()
     CGnameList.sort()    #Make sure we do not shuffle the starttime of the clientgroups
     for CGname in  CGnameList:
         if groupTestTime.has_key(CGname):
             grpTestTime = groupTestTime[CGname]
         retVal = self.Clientgroup[CGname].splitGenClients(maxSplitTime, cgWaitTimes, self.roamInterval, grpTestTime)
         retList.append(retVal)
     return retList
 def Generateclients(self):
     #For each CGobject, RoamBenchmarkEventClass generates a list of 
     #Client objects. This is stored as a dictionary of form
     #'clientname': ClientObject. This dictionary can be 
     #retrieved for each CGobject with GetClientdict() method.
     max_test_time = 0
     grpTestTime = -1
     (cgWaitTimes, groupTestTime) = computeWaitTimes(self.roamInterval, self.dummyRoamBenchDict, self.dummyClientGroupNumsDict)
     for CGname in self.Clientgroup.keys():
         if groupTestTime.has_key(CGname):
             grpTestTime = groupTestTime[CGname]
         total_roam_time = self.Clientgroup[CGname].Generateclients(cgWaitTimes, self.roamInterval, grpTestTime)
         if total_roam_time > max_test_time:
             max_test_time = total_roam_time
     self.SetTotalDuration(max_test_time)