package modules.node;

import utils.*;
import simulator.*;
import modules.gradient.*;
import java.util.*;

public class NodeExclusionEstimator implements ProcessorLoadEstimator {
  Object nid;
  public NodeExclusionEstimator(Object nid) { this.nid=nid; }

  public double estimate(PortedProcessor pp) {
    // get the PN and AG modules
    PersistentNodeB pn = (PersistentNodeB)pp.getModule("PersistentNode");
    Vector pnr = pn.getNodeReflectors();
    if(pnr.size()>1) return -(pnr.size()-1); 
    else if(pnr.size()>0 && nid.equals(pnr.get(0))) return 1;
    else return -1;
  }
}
