cloudsim-plus-master/cloudsim-plus-master/cloudsim-plus/src/main/java/org/cloudbus/cloudsim/brokers/DatacenterBrokerAbstract.java
private void processBrokerVmDestroyRequest(Vm vm) {
        if(vm.getCloudletScheduler().isEmpty()) {
            requestIdleVmDestruction(vm, __ -> 0.0);
        }
    }
/**
     * Process the request sent by the broker itself, to check
     * if it's time to destroy a given VM.
     *
     * <p>If the VM is idle yet (since the request
     * is sent only after the delay defined by the {@link #getVmDestructionDelayFunction()}),
     * the VM destruction has to be actually requested to the Datacenter
     * without any further delay.
     *
     * This way, it's given a {@link Function} to the {@link #requestIdleVmDestruction(Vm, Function)}
     * method which always returns a delay equals to 0 for any given VM.
     * Since the {@link Function} always returns the same value,
     * its Vm parameter is ignored (it's defined as __ ).
     * </p>
     *
     * @param vm the VM to try to destroy
     */
Process the request sent by the broker itself, to check
if it's time to destroy a given VM.

If the VM is idle yet (since the request
is sent only after the delay defined by the  #getVmDestructionDelayFunction()),
the VM destruction has to be actually requested to the Datacenter
without any further delay.

This way, it's given a  Function to the  #requestIdleVmDestruction(Vm, Function)
method which always returns a delay equals to 0 for any given VM.
Since the  Function always returns the same value,
its Vm parameter is ignored (it's defined as __ ).

@param vm the VM to try to destroy
Process the request sent by the broker itself to check if it ' s time to destroy a given VM . If the VM is idle yet ( since the request is sent only after the delay defined by the #getVmDestructionDelayFunction () ) the VM destruction has to be actually requested to the Datacenter without any further delay . This way it ' s given a Function to the #requestIdleVmDestruction ( Vm Function ) method which always returns a delay equals to 0 for any given VM . Since the Function always returns the same value its Vm parameter is ignored ( it ' s defined as __ ) . @param vm the VM to try to destroy
private void processBrokerVmDestroyRequest(Vm vm) {
        if(vm.getCloudletScheduler().isEmpty()) {
            requestIdleVmDestruction(vm, __ -> 0.0);
        }
    }
private void processBrokerVmDestroyRequest ( Vm vm ) { if ( vm . getCloudletScheduler ( ) . isEmpty ( ) ) { requestIdleVmDestruction ( vm , __ -> 0.0 ) ; } }
Process the request sent by the broker itself, to check
 if it's time to destroy a given VM.
Process the request sent by the broker itself to check if it ' s time to destroy a given VM .