-/* Copyright (c) 2012-2014, 2016. The SimGrid Team.
+/* Copyright (c) 2012-2019. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
Msg.info("Wrong argument count.");
return;
}
- this.id = Integer.valueOf(args[0]);
+ this.id = Integer.parseInt(args[0]);
this.table = new RoutingTable(this.id);
if (args.length == 3) {
- this.deadline = Integer.valueOf(args[2]).intValue();
+ this.deadline = Integer.parseInt(args[2]);
Msg.info("Hi, I'm going to join the network with the id " + id + "!");
- if (joinNetwork(Integer.valueOf(args[1]))) {
+ if (joinNetwork(Integer.parseInt(args[1]))) {
this.mainLoop();
}
else {
}
}
else {
- this.deadline = Integer.valueOf(args[1]).intValue();
+ this.deadline = Integer.parseInt(args[1]);
Msg.info("Hi, I'm going to create the network with the id " + id + "!");
table.update(this.id);
this.mainLoop();
}
public void mainLoop() {
- double next_lookup_time = Msg.getClock() + Common.RANDOM_LOOKUP_INTERVAL;
+ double nextLookupTime = Msg.getClock() + Common.RANDOM_LOOKUP_INTERVAL;
while (Msg.getClock() < this.deadline) {
try {
if (comm == null) {
comm = Task.irecv(Integer.toString(id));
}
if (!comm.test()) {
- if (Msg.getClock() >= next_lookup_time) {
+ if (Msg.getClock() >= nextLookupTime) {
randomLookup();
- next_lookup_time += Common.RANDOM_LOOKUP_INTERVAL;
+ nextLookupTime += Common.RANDOM_LOOKUP_INTERVAL;
} else {
waitFor(1);
}
}
}
catch (Exception e) {
+ Msg.debug("Caught exception: " + e);
}
}
Msg.info(findNodeSuccedded + "/" + (findNodeSuccedded + findNodeFailed) + " FIND_NODE have succedded.");
} else {
Task task = comm.getTask();
if (task instanceof FindNodeAnswerTask) {
- answerGot = true;
//Retrieve the node list and ping them
FindNodeAnswerTask answerTask = (FindNodeAnswerTask)task;
Answer answer = answerTask.getAnswer();
answerGot = true;
- //answersGotten++;
if (answer.getDestinationId() == this.id) {
//Ping everyone in the list
for (Contact c : answer.getNodes()) {
/* Send a request to find a node in the node's routing table. */
public boolean findNode(int destination, boolean counts) {
- int queries, answers;
- int nodesAdded = 0;
- boolean destinationFound = false;
+ int queries;
+ int answers;
+ int nodesAdded;
+ boolean destinationFound;
int steps = 0;
double timeBeginReceive;
- double timeout, globalTimeout = Msg.getClock() + Common.FIND_NODE_GLOBAL_TIMEOUT;
+ double timeout;
+ double globalTimeout = Msg.getClock() + Common.FIND_NODE_GLOBAL_TIMEOUT;
//Build a list of the closest nodes we already know.
Answer nodeList = table.findClosest(destination);
Msg.verb("Doing a FIND_NODE on " + destination);
waitFor(1);
}
catch (Exception ex) {
+ Msg.debug("Caught exception: " + ex);
}
} while (Msg.getClock() < timeout && !destinationFound);
}
public int sendFindNodeToBest(Answer nodeList) {
int destination = nodeList.getDestinationId();
int i;
- for (i = 0; i < Common.alpha && i < nodeList.size(); i++) {
+ for (i = 0; i < Common.ALPHA && i < nodeList.size(); i++) {
Contact node = nodeList.getNodes().get(i);
if (node.getId() != this.id) {
this.sendFindNode(node.getId(),destination);