cloudsim-plus-master/cloudsim-plus-master/cloudsim-plus/src/main/java/org/cloudbus/cloudsim/brokers/DatacenterBrokerAbstract.java
protected void requestCreationOfWaitingVmsToFallbackDatacenter() {
        final Datacenter nextDatacenter = fallbackDatacenterSupplier.get();
        lastSelectedDc = nextDatacenter;
        if (nextDatacenter != Datacenter.NULL) {
            clearVmCreationRequestsMapToTryNextDatacenter();
            requestDatacenterToCreateWaitingVms(nextDatacenter);
            return;
        }

        /* If it gets here, it means that all datacenters were already queried
         * and not all VMs could be created, but some of them could. */
        if (vmExecList.isEmpty()) {
            println(String.format("%.2f: %s: %s", getSimulation().clock(), getName(),
                "none of the required VMs could be created. Aborting"));
            requestShutDown();
            return;
        }

        requestDatacentersToCreateWaitingCloudlets();
    }
/**
     * After the response (ack) of all VM creation request were received
     * but not all VMs could be created (what means some
     * acks informed about Vm creation failures), try to find
     * another Datacenter to request the creation of the VMs
     * in the waiting list.
     */
After the response (ack) of all VM creation request were received
but not all VMs could be created (what means some
acks informed about Vm creation failures), try to find
another Datacenter to request the creation of the VMs
in the waiting list.
After the response ( ack ) of all VM creation request were received but not all VMs could be created ( what means some acks informed about Vm creation failures ) try to find another Datacenter to request the creation of the VMs in the waiting list .
protected void requestCreationOfWaitingVmsToFallbackDatacenter() {
        final Datacenter nextDatacenter = fallbackDatacenterSupplier.get();
        lastSelectedDc = nextDatacenter;
        if (nextDatacenter != Datacenter.NULL) {
            clearVmCreationRequestsMapToTryNextDatacenter();
            requestDatacenterToCreateWaitingVms(nextDatacenter);
            return;
        }
        /* If it gets here, it means that all datacenters were already queried
         * and not all VMs could be created, but some of them could. */
        if (vmExecList.isEmpty()) {
            println(String.format("%.2f: %s: %s", getSimulation().clock(), getName(),
                "none of the required VMs could be created. Aborting"));
            requestShutDown();
            return;
        }
        requestDatacentersToCreateWaitingCloudlets();
    }
protected void requestCreationOfWaitingVmsToFallbackDatacenter ( ) { final Datacenter nextDatacenter = fallbackDatacenterSupplier . get ( ) ; lastSelectedDc = nextDatacenter ; if ( nextDatacenter != Datacenter . NULL ) { clearVmCreationRequestsMapToTryNextDatacenter ( ) ; requestDatacenterToCreateWaitingVms ( nextDatacenter ) ; return ; } /* If it gets here, it means that all datacenters were already queried
         * and not all VMs could be created, but some of them could. */ if ( vmExecList . isEmpty ( ) ) { println ( String . format ( "%.2f: %s: %s" , getSimulation ( ) . clock ( ) , getName ( ) , "none of the required VMs could be created. Aborting" ) ) ; requestShutDown ( ) ; return ; } requestDatacentersToCreateWaitingCloudlets ( ) ; }
After the response (ack) of all VM creation request were received
 but not all VMs could be created (what means some
 acks informed about Vm creation failures), try to find
 another Datacenter to request the creation of the VMs
 in the waiting list.
After the response ( ack ) of all VM creation request were received but not all VMs could be created ( what means some acks informed about Vm creation failures ) try to find another Datacenter to request the creation of the VMs in the waiting list .