cloudsim-plus-master/cloudsim-plus-master/cloudsim-plus/src/main/java/org/cloudbus/cloudsim/schedulers/cloudlet/CloudletSchedulerAbstract.java
protected double processCloudletSubmit(CloudletExecutionInfo rcl, double fileTransferTime) {
        if (canAddCloudletToExecutionList(rcl)) {
            rcl.setCloudletStatus(Status.INEXEC);
            rcl.setFileTransferTime(fileTransferTime);
            addCloudletToExecList(rcl);
            return fileTransferTime + (rcl.getCloudletLength() / getPeCapacity());
        }

        // No enough free PEs, then add Cloudlet to the waiting queue
        addCloudletToWaitingList(rcl);
        return 0.0;
    }
/**
     * Process a Cloudlet after it is received by the
     * {@link #cloudletSubmit(Cloudlet, double)} method, that creates a
     * {@link CloudletExecutionInfo} object to encapsulate the submitted
     * Cloudlet and record execution information.
     *
     * @param rcl              the CloudletExecutionInfo that encapsulates the Cloudlet
     *                         object
     * @param fileTransferTime time required to move the required files from the
     *                         SAN to the VM
     * @return expected finish time of this cloudlet (considering the time to
     * transfer required files from the Datacenter to the Vm), or 0 if it is in
     * a waiting queue
     */
Process a Cloudlet after it is received by the
#cloudletSubmit(Cloudlet, double) method, that creates a
CloudletExecutionInfo object to encapsulate the submitted
Cloudlet and record execution information.

@param rcl              the CloudletExecutionInfo that encapsulates the Cloudlet
object
@param fileTransferTime time required to move the required files from the
SAN to the VM
@return expected finish time of this cloudlet (considering the time to
transfer required files from the Datacenter to the Vm), or 0 if it is in
a waiting queue
Process a Cloudlet after it is received by the #cloudletSubmit ( Cloudlet double ) method that creates a CloudletExecutionInfo object to encapsulate the submitted Cloudlet and record execution information . @param rcl the CloudletExecutionInfo that encapsulates the Cloudlet object @param fileTransferTime time required to move the required files from the SAN to the VM @return expected finish time of this cloudlet ( considering the time to transfer required files from the Datacenter to the Vm ) or 0 if it is in a waiting queue
protected double processCloudletSubmit(CloudletExecutionInfo rcl, double fileTransferTime) {
        if (canAddCloudletToExecutionList(rcl)) {
            rcl.setCloudletStatus(Status.INEXEC);
            rcl.setFileTransferTime(fileTransferTime);
            addCloudletToExecList(rcl);
            return fileTransferTime + (rcl.getCloudletLength() / getPeCapacity());
        }
        addCloudletToWaitingList(rcl);
        return 0.0;
    }
protected double processCloudletSubmit ( CloudletExecutionInfo rcl , double fileTransferTime ) { if ( canAddCloudletToExecutionList ( rcl ) ) { rcl . setCloudletStatus ( Status . INEXEC ) ; rcl . setFileTransferTime ( fileTransferTime ) ; addCloudletToExecList ( rcl ) ; return fileTransferTime + ( rcl . getCloudletLength ( ) / getPeCapacity ( ) ) ; } addCloudletToWaitingList ( rcl ) ; return 0.0 ; }
Process a Cloudlet after it is received by the
 {@link #cloudletSubmit(Cloudlet, double)} method, that creates a
 {@link CloudletExecutionInfo} object to encapsulate the submitted
 Cloudlet and record execution information.
Process a Cloudlet after it is received by the { @link #cloudletSubmit ( Cloudlet double ) } method that creates a { @link CloudletExecutionInfo } object to encapsulate the submitted Cloudlet and record execution information .
// No enough free PEs, then add Cloudlet to the waiting queue