/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package simizer.processor.tasks;

import simizer.VM;
import simizer.processor.ProcessingUnit;

/**
 * Processing task
 * @author slefebvr
 */
public class ProcTask extends Task {
    private final long nbInstructions;
    private long insLeft;
    
    public ProcTask(long nbInstructions, int memSize) {
        super(null);
        this.nbInstructions = nbInstructions;
        this.insLeft = nbInstructions;
    }
    
    public long getProcDone() {
        return nbInstructions - insLeft;
    }
    public long getProcLeft() {
        return insLeft;
    }
    public long getProc() {
        return nbInstructions;
    }
    public void updateProc(long inst) {
        insLeft-=inst;
        if(insLeft<=0)
            this.finishTask();
    }

    @Override
    public void startTask(VM vm, long timestamp) {
        ProcessingUnit pu = vm.getProcessingUnit();
        pu.startProcTask(timestamp, this);
    }
    
}

@@ -1,104 +1,4 @@
-/*%0A * To change this template, choose Tools %7C Templates%0A * and open the template in the editor.%0A */%0A
 pack
@@ -111,16 +111,19 @@
 ng task%0A
+ *%0A
  * @auth
@@ -175,18 +175,17 @@
  Task %7B%0A
-  
+%0A
   privat
@@ -213,18 +213,16 @@
 ctions;%0A
-  
   privat
@@ -237,23 +237,17 @@
 nsLeft;%0A
-    %0A  
+%0A
   public
@@ -296,20 +296,16 @@
 ) %7B%0A    
-  
-  
 super(nu
@@ -309,20 +309,17 @@
 (null);%0A
-    
+%0A
     this
@@ -352,20 +352,16 @@
 ctions;%0A
-    
     this
@@ -391,21 +391,13 @@
 ns;%0A
-  
   %7D%0A
-    %0A  
+%0A
   pu
@@ -418,36 +418,32 @@
 rocDone() %7B%0A    
- 
-   
 return nbInstruc
@@ -453,38 +453,35 @@
 ns - insLeft;%0A  
-  
 %7D
+%0A
 %0A
-  
   public long ge
@@ -490,28 +490,24 @@
 rocLeft() %7B%0A
-    
     return i
@@ -512,30 +512,27 @@
  insLeft;%0A  
-  %7D%0A  
+%7D%0A%0A
   public lon
@@ -549,20 +549,16 @@
 ) %7B%0A    
- 
-   
 return n
@@ -572,26 +572,23 @@
 ctions;%0A
-  
   %7D%0A
- 
+%0A
   
- 
 public v
@@ -611,28 +611,24 @@
 ong inst) %7B%0A
-    
     insLeft-
@@ -630,34 +630,33 @@
 Left
+ 
 -=
+ 
 inst;%0A
-    
     if
+ 
 (insLeft
 %3C=0)
@@ -655,19 +655,17 @@
 Left
+ 
 %3C=
+ 
 0)
-%0A      
+ %7B%0A
     
@@ -691,19 +691,21 @@
 ;%0A    %7D%0A
-%0A
   
+%7D%0A%0A
   @Overr
@@ -708,18 +708,16 @@
 verride%0A
-  
   public
@@ -761,20 +761,16 @@
 ) %7B%0A    
-   
- 
 Processi
@@ -805,20 +805,16 @@
 Unit();%0A
-    
     pu.s
@@ -850,15 +850,8 @@
 ;%0A  
- 
- %7D%0A    
+%7D
 %0A%7D%0A

Update ProcTask to conform to the GSG.