예제 #1
0
  public void topTask_go(Task now, Task later) throws Exception {
    perm.checkRead(this);
    if (wrt_ != null) {
      Task searchTask = new Task();
      Task writeBackTask = new Task();

      msi_.topTask_search(searchTask, writeBackTask, params_, wrt_, this);
      this.topTask_go_2(writeBackTask, later, searchTask);

      perm.replaceNowWithTask(this, searchTask);
      perm.replaceNowWithTask(msi_, searchTask);

      searchTask.hb(writeBackTask);
      writeBackTask.hb(later);
    } else {
      Task searchTask = new Task();
      Task writeBackTask = new Task();

      msi_.topTask_search(searchTask, writeBackTask, params_, this);
      this.topTask_go_3(writeBackTask, later, searchTask);

      perm.replaceNowWithTask(this, searchTask);
      perm.replaceNowWithTask(msi_, searchTask);

      searchTask.hb(writeBackTask);
      writeBackTask.hb(later);
    }
  }
예제 #2
0
 public void go() throws Exception {
   if (wrt_ != null) size_ = msi_.search(params_, wrt_, this);
   else results = msi_.search(params_, this);
 }