Пример #1
0
  public void act() {
    Message message_NF;
    Message message_LFF;
    Message message_LFS;
    // Link failure handling
    if (failure_type == Link_F) {
      message_LFF = new Message(Values.interruptMessage, Values.ReachLoss, second_node);
      kernel.schedule(
          new ArrivalEventV2(first_node, message_LFF, kernel, GetTime.getNextSchedule(kernel)));
      message_LFS = new Message(Values.interruptMessage, Values.ReachLoss, first_node);
      kernel.schedule(
          new ArrivalEventV2(second_node, message_LFS, kernel, GetTime.getNextSchedule(kernel)));
    }
    // Node failure handling
    else {
      if (failure_type == Node_F) {
        NodeV2 Failed_Node = Topology.getNodeByAddressV2(failed_node);
        adjacenes = (TIntArrayList) (Failed_Node.getAdjacenes().clone());
        Failed_Node.eraseState();
        message_NF = new Message(Values.interruptMessage, Values.ReachLoss, failed_node);

        for (int i = 0; i < adjacenes.size(); i++) {
          kernel.schedule(
              new ArrivalEventV2(
                  adjacenes.get(i), message_NF, kernel, GetTime.getNextSchedule(kernel)));
        }
      } else {

      }
    }
  }