/** * Created a new DatacenterBroker object. * * @param name name to be associated with this entity (as required by {@link SimEntity} class) * @throws Exception the exception * @pre name != null * @post $none */ public DatacenterBroker(String name) throws Exception { super(name); setVmList(new ArrayList<Vm>()); setVmsCreatedList(new ArrayList<Vm>()); setCloudletList(new ArrayList<Cloudlet>()); setCloudletSubmittedList(new ArrayList<Cloudlet>()); setCloudletReceivedList(new ArrayList<Cloudlet>()); cloudletsSubmitted = 0; setVmsRequested(0); setVmsAcks(0); setVmsDestroyed(0); setDatacenterIdsList(new LinkedList<Integer>()); setDatacenterRequestedIdsList(new ArrayList<Integer>()); setVmsToDatacentersMap(new HashMap<Integer, Integer>()); setDatacenterCharacteristicsList(new HashMap<Integer, DatacenterCharacteristics>()); }
/** * Process a request for the characteristics of a PowerDatacenter. * * @param ev a SimEvent object * @pre ev != $null * @post $none */ protected void processResourceCharacteristicsRequest(SimEvent ev) { setDatacenterIdsList(CloudSim.getCloudResourceList()); setDatacenterCharacteristicsList(new HashMap<Integer, DatacenterCharacteristics>()); Log.printConcatLine(CloudSim.clock(), ": ", getName(), ": Cloud Resource List received with ", getDatacenterIdsList().size(), " resource(s)"); for (Integer datacenterId : getDatacenterIdsList()) { sendNow(datacenterId, CloudSimTags.RESOURCE_CHARACTERISTICS, getId()); } }