diff --git a/javadoc/allclasses-index.html b/javadoc/allclasses-index.html
index 533f367..695da3b 100644
--- a/javadoc/allclasses-index.html
+++ b/javadoc/allclasses-index.html
@@ -55,87 +55,153 @@
All Classes and Interfaces<
-
+
+
The Client actor is responsible for sending requests to the Nodes in the network.
+
-
+
+
Controller for the simulation.
+
-
+
+
Logger class to log messages to the console and to files.
+
-
+
+
Node class, it represents a single node in the network.
+
-
+
+
PairsHistory class to store the history of the pairs and the final decision associated to it
+
-
+
+
Main class to start the simulation.
+
-
+
+
Simulation class layer between the UserInterface and the network.
+
-
+
+
SimulationCallback interface to handle the simulation callbacks
+
-
+
+
TimeOutManager class to manage the timeouts of a Node
+
-
+
+
UserInterface class to manage/generate the user interface.
+
-
+
+
Class that contains all the utility classes and messages used by the actors.
+
-
+
+
Message self-lopped by a node to trigger a timeout.
+
-
+
+
Message to acknowledge a CrashRequest.
+
-
+
+
Message to ask for a crash.
+
-
+
+
Enum to represent all the possible crashes that can be triggered.
+
-
+
+
Enum to represent all the possible decisions that can be taken by the coordinator.
+
-
+
+
Message to propagate the coordinator final decision regarding a certain epoch.
+
-
+
+
Message to send election data
+
-
+
+
Message to acknowledge an Election
+
-
+
+
Struct to represent and send an epoch and an iteration.
+
-
+
+
Special message to multicast a heartbeat from a coordinator to all the nodes.
+
-
+
+
Enum to represent all the log levels.
+
-
+
+
Message used by a Client to generate a random request to a random Node.
+
-
+
+
Struct cache the best candidate data during the election.
+
-
+
+
Message used by a Client to ask for a read operation.
+
-
+
+
Message used by a Node to notify the Client that it received the ReadRequest, and reply to it.
+
Start message that sends the list of participants to everyone.
-
+
+
Message to synchronise all the node after an election.
+
-
+
+
Message to notify a timeout.
+
-
+
+
Enum to represent all the possible reasons for a timeout.
+
-
+
+
Enum to represent all the possible votes that can be taken by a Node.
+
-
+
+
Struct to represent the map of voters for every write, and the final decision taken for that write.
+
Message that asks for a vote.
-
Message that sends the vote.
+
Message to send the vote of a node to the coordinator.
-
-
-
-
-
-
-
+
+
Message used by a Client to ask for a read operation.
+
+
+
+
Message used by a Node to notify the Client that it received the WriteRequest, and reply to it.
+
+
+
+
Class that represents/handle the voters map.
+
diff --git a/javadoc/index-all.html b/javadoc/index-all.html
index a82e065..85f0e03 100644
--- a/javadoc/index-all.html
+++ b/javadoc/index-all.html
@@ -54,7 +54,9 @@ A
ABORT - Enum constant in enum class it.unitn.disi.ds1.qtop.Utils.Decision
addCrashNode(int) - Method in class it.unitn.disi.ds1.qtop.Simulation
-
+
+Add a crash to the network.
+
B
@@ -72,17 +74,19 @@ B
bestCandidateId() - Method in record class it.unitn.disi.ds1.qtop.Utils.Election
-Returns the value of the bestCandidateId
record component.
+
bestCandidateId() - Method in record class it.unitn.disi.ds1.qtop.Utils.Quadruplet
-Returns the value of the bestCandidateId
record component.
+
C
Client - Class in it.unitn.disi.ds1.qtop
-
+
+The Client actor is responsible for sending requests to the Nodes in the network.
+
Client(int, List<ActorRef>, int) - Constructor for class it.unitn.disi.ds1.qtop.Client
CLIENT_REQUEST - Enum constant in enum class it.unitn.disi.ds1.qtop.Utils.TimeOutReason
@@ -98,13 +102,17 @@ C
Print the menu to tty.
clientMenu() - Method in interface it.unitn.disi.ds1.qtop.SimulationCallback
-
+
+Display to the user the textual menu.
+
clientMenu() - Method in class it.unitn.disi.ds1.qtop.UserInterface
Display the client menu.
Controller - Class in it.unitn.disi.ds1.qtop
-
+
+Controller for the simulation.
+
Controller(Simulation, UserInterface) - Constructor for class it.unitn.disi.ds1.qtop.Controller
COORDINATOR_AFTER_RW_REQUEST - Enum constant in enum class it.unitn.disi.ds1.qtop.Utils.CrashType
@@ -166,7 +174,7 @@ D
decision() - Method in record class it.unitn.disi.ds1.qtop.Utils.DecisionResponse
-Returns the value of the decision
record component.
+Returns the value of the
decision
record component.
DecisionResponse(Utils.Decision, Utils.EpochPair) - Constructor for record class it.unitn.disi.ds1.qtop.Utils.DecisionResponse
@@ -174,14 +182,14 @@ D
destinationId() - Method in record class it.unitn.disi.ds1.qtop.Utils.Quadruplet
-Returns the value of the destinationId
record component.
+
E
e() - Method in record class it.unitn.disi.ds1.qtop.Utils.EpochPair
-Returns the value of the e
record component.
+Returns the value of the
e
record component.
Election(int, int, int) - Constructor for record class it.unitn.disi.ds1.qtop.Utils.Election
@@ -199,15 +207,15 @@ E
epoch() - Method in record class it.unitn.disi.ds1.qtop.Utils.CountDown
-Returns the value of the epoch
record component.
+Returns the value of the
epoch
record component.
epoch() - Method in record class it.unitn.disi.ds1.qtop.Utils.DecisionResponse
-Returns the value of the epoch
record component.
+Returns the value of the
epoch
record component.
epoch() - Method in record class it.unitn.disi.ds1.qtop.Utils.TimeOut
-Returns the value of the epoch
record component.
+Returns the value of the
epoch
record component.
epoch() - Method in record class it.unitn.disi.ds1.qtop.Utils.VoteRequest
@@ -297,10 +305,6 @@ E
Indicates whether some other object is "equal to" this one.
- equals(Object) - Method in record class it.unitn.disi.ds1.qtop.Utils.WriteResponse
-
-Indicates whether some other object is "equal to" this one.
-
equals(Object) - Method in record class it.unitn.disi.ds1.qtop.Utils.WriteValue
Indicates whether some other object is "equal to" this one.
@@ -308,7 +312,9 @@ E
ERROR - Enum constant in enum class it.unitn.disi.ds1.qtop.Utils.LogLevel
exit() - Method in class it.unitn.disi.ds1.qtop.Simulation
-
+
+Shut down the network.
+
exitSimulation() - Method in class it.unitn.disi.ds1.qtop.Controller
Quit.
@@ -318,7 +324,7 @@ F
finalDecision() - Method in record class it.unitn.disi.ds1.qtop.Utils.VotePair
-Returns the value of the finalDecision
record component.
+
G
@@ -418,10 +424,6 @@ H
Returns a hash code value for this object.
- hashCode() - Method in record class it.unitn.disi.ds1.qtop.Utils.WriteResponse
-
-Returns a hash code value for this object.
-
hashCode() - Method in record class it.unitn.disi.ds1.qtop.Utils.WriteValue
Returns a hash code value for this object.
@@ -434,30 +436,30 @@ H
highestEpoch() - Method in record class it.unitn.disi.ds1.qtop.Utils.Election
-Returns the value of the highestEpoch
record component.
+
highestEpoch() - Method in record class it.unitn.disi.ds1.qtop.Utils.Quadruplet
-Returns the value of the highestEpoch
record component.
+
highestIteration() - Method in record class it.unitn.disi.ds1.qtop.Utils.Election
-Returns the value of the highestIteration
record component.
+
highestIteration() - Method in record class it.unitn.disi.ds1.qtop.Utils.Quadruplet
-Returns the value of the highestIteration
record component.
+
history() - Method in record class it.unitn.disi.ds1.qtop.Utils.Synchronisation
-Returns the value of the history
record component.
+Returns the value of the
history
record component.
I
i() - Method in record class it.unitn.disi.ds1.qtop.Utils.EpochPair
-Returns the value of the i
record component.
+Returns the value of the
i
record component.
INFO - Enum constant in enum class it.unitn.disi.ds1.qtop.Utils.LogLevel
@@ -479,7 +481,9 @@ L
Log the message at the specified log level.
Logger - Class in it.unitn.disi.ds1.qtop
-
+
+Logger class to log messages to the console and to files.
+
M
@@ -494,7 +498,7 @@ N
newEpochPair() - Method in record class it.unitn.disi.ds1.qtop.Utils.Synchronisation
-Returns the value of the newEpochPair
record component.
+
newValue() - Method in record class it.unitn.disi.ds1.qtop.Utils.VoteRequest
@@ -502,14 +506,16 @@ N
newValue() - Method in record class it.unitn.disi.ds1.qtop.Utils.WriteRequest
-Returns the value of the newValue
record component.
+Returns the value of the
newValue
record component.
NO - Enum constant in enum class it.unitn.disi.ds1.qtop.Utils.Vote
NO_CRASH - Enum constant in enum class it.unitn.disi.ds1.qtop.Utils.CrashType
Node - Class in it.unitn.disi.ds1.qtop
-
+
+Node class, it represents a single node in the network.
+
Node(ActorRef, int, int, int, int, int) - Constructor for class it.unitn.disi.ds1.qtop.Node
NODE_AFTER_VOTE_CAST - Enum constant in enum class it.unitn.disi.ds1.qtop.Utils.CrashType
@@ -522,23 +528,19 @@ N
nRequest() - Method in record class it.unitn.disi.ds1.qtop.Utils.ReadRequest
-Returns the value of the nRequest
record component.
+Returns the value of the
nRequest
record component.
nRequest() - Method in record class it.unitn.disi.ds1.qtop.Utils.ReadValue
-Returns the value of the nRequest
record component.
+Returns the value of the
nRequest
record component.
nRequest() - Method in record class it.unitn.disi.ds1.qtop.Utils.WriteRequest
-Returns the value of the nRequest
record component.
-
-nRequest() - Method in record class it.unitn.disi.ds1.qtop.Utils.WriteResponse
-
-Returns the value of the nRequest
record component.
+Returns the value of the
nRequest
record component.
nRequest() - Method in record class it.unitn.disi.ds1.qtop.Utils.WriteValue
-Returns the value of the nRequest
record component.
+Returns the value of the
nRequest
record component.
O
@@ -551,7 +553,9 @@ O
P
PairsHistory - Class in it.unitn.disi.ds1.qtop
-
+
+PairsHistory class to store the history of the pairs and the final decision associated to it
+
PairsHistory() - Constructor for class it.unitn.disi.ds1.qtop.PairsHistory
PENDING - Enum constant in enum class it.unitn.disi.ds1.qtop.Utils.Decision
@@ -564,7 +568,9 @@ P
Q
QTop - Class in it.unitn.disi.ds1.qtop
-
+
+Main class to start the simulation.
+
QTop() - Constructor for class it.unitn.disi.ds1.qtop.QTop
Quadruplet(int, int, int, int) - Constructor for record class it.unitn.disi.ds1.qtop.Utils.Quadruplet
@@ -588,11 +594,11 @@ R
reason() - Method in record class it.unitn.disi.ds1.qtop.Utils.CountDown
-Returns the value of the reason
record component.
+Returns the value of the
reason
record component.
reason() - Method in record class it.unitn.disi.ds1.qtop.Utils.TimeOut
-Returns the value of the reason
record component.
+Returns the value of the
reason
record component.
resetCountDown(Utils.TimeOutReason, int) - Method in class it.unitn.disi.ds1.qtop.TimeOutManager
@@ -618,19 +624,27 @@ S
Get the state of the given epoch and iteration.
Simulation - Class in it.unitn.disi.ds1.qtop
-
+
+Simulation class layer between the UserInterface and the network.
+
Simulation() - Constructor for class it.unitn.disi.ds1.qtop.Simulation
SimulationCallback - Interface in it.unitn.disi.ds1.qtop
-
+
+SimulationCallback interface to handle the simulation callbacks
+
start() - Method in interface it.unitn.disi.ds1.qtop.SimulationCallback
-
+
+Start the simulation.
+
start() - Method in class it.unitn.disi.ds1.qtop.UserInterface
Start the user interface.
start(int, int, int, int, int) - Method in class it.unitn.disi.ds1.qtop.Simulation
-
+
+Start the network with the given parameters.
+
startCountDown(Utils.TimeOutReason, Cancellable, int) - Method in class it.unitn.disi.ds1.qtop.TimeOutManager
Start a count-down for a specific reason.
@@ -644,7 +658,9 @@ S
Creates an instance of a StartMessage
record class.
startSimulation(int, int, int, int, int) - Method in class it.unitn.disi.ds1.qtop.Controller
-
+
+Start the simulation (network), with the given parameters.
+
Synchronisation(PairsHistory, Utils.EpochPair) - Constructor for record class it.unitn.disi.ds1.qtop.Utils.Synchronisation
Creates an instance of a Synchronisation
record class.
@@ -665,7 +681,9 @@ T
Creates an instance of a TimeOut
record class.
TimeOutManager - Class in it.unitn.disi.ds1.qtop
-
+
+TimeOutManager class to manage the timeouts of a Node
+
TimeOutManager(int, int, int, int, int, int) - Constructor for class it.unitn.disi.ds1.qtop.TimeOutManager
toString() - Method in class it.unitn.disi.ds1.qtop.PairsHistory
@@ -748,10 +766,6 @@ T
Returns a string representation of this record class.
-toString() - Method in record class it.unitn.disi.ds1.qtop.Utils.WriteResponse
-
-Returns a string representation of this record class.
-
toString() - Method in record class it.unitn.disi.ds1.qtop.Utils.WriteValue
Returns a string representation of this record class.
@@ -762,81 +776,127 @@ T
U
UserInterface - Class in it.unitn.disi.ds1.qtop
-
+
+UserInterface class to manage/generate the user interface.
+
UserInterface(Controller) - Constructor for class it.unitn.disi.ds1.qtop.UserInterface
Utils - Class in it.unitn.disi.ds1.qtop
-
+
+Class that contains all the utility classes and messages used by the actors.
+
Utils() - Constructor for class it.unitn.disi.ds1.qtop.Utils
Utils.CountDown - Record Class in it.unitn.disi.ds1.qtop
-
+
+Message self-lopped by a node to trigger a timeout.
+
Utils.CrashACK - Record Class in it.unitn.disi.ds1.qtop
-
+
+Message to acknowledge a CrashRequest.
+
Utils.CrashRequest - Record Class in it.unitn.disi.ds1.qtop
-
+
+Message to ask for a crash.
+
Utils.CrashType - Enum Class in it.unitn.disi.ds1.qtop
-
+
+Enum to represent all the possible crashes that can be triggered.
+
Utils.Decision - Enum Class in it.unitn.disi.ds1.qtop
-
+
+Enum to represent all the possible decisions that can be taken by the coordinator.
+
Utils.DecisionResponse - Record Class in it.unitn.disi.ds1.qtop
-
+
+Message to propagate the coordinator final decision regarding a certain epoch.
+
Utils.Election - Record Class in it.unitn.disi.ds1.qtop
-
+
+Message to send election data
+
Utils.ElectionACK - Record Class in it.unitn.disi.ds1.qtop
-
+
+Message to acknowledge an Election
+
Utils.EpochPair - Record Class in it.unitn.disi.ds1.qtop
-
+
+Struct to represent and send an epoch and an iteration.
+
Utils.HeartBeat - Record Class in it.unitn.disi.ds1.qtop
-
+
+Special message to multicast a heartbeat from a coordinator to all the nodes.
+
Utils.LogLevel - Enum Class in it.unitn.disi.ds1.qtop
-
+
+Enum to represent all the log levels.
+
Utils.MakeRequest - Record Class in it.unitn.disi.ds1.qtop
-
+
+Message used by a Client to generate a random request to a random Node.
+
Utils.Quadruplet - Record Class in it.unitn.disi.ds1.qtop
-
+
+Struct cache the best candidate data during the election.
+
Utils.ReadRequest - Record Class in it.unitn.disi.ds1.qtop
-
+
+Message used by a Client to ask for a read operation.
+
Utils.ReadValue - Record Class in it.unitn.disi.ds1.qtop
-
+
+Message used by a Node to notify the Client that it received the ReadRequest, and reply to it.
+
Utils.StartMessage - Record Class in it.unitn.disi.ds1.qtop
Start message that sends the list of participants to everyone.
Utils.Synchronisation - Record Class in it.unitn.disi.ds1.qtop
-
+
+Message to synchronise all the node after an election.
+
Utils.TimeOut - Record Class in it.unitn.disi.ds1.qtop
-
+
+Message to notify a timeout.
+
Utils.TimeOutReason - Enum Class in it.unitn.disi.ds1.qtop
-
+
+Enum to represent all the possible reasons for a timeout.
+
Utils.Vote - Enum Class in it.unitn.disi.ds1.qtop
-
+
+Enum to represent all the possible votes that can be taken by a Node.
+
Utils.VotePair - Record Class in it.unitn.disi.ds1.qtop
-
+
+Struct to represent the map of voters for every write, and the final decision taken for that write.
+
Utils.VoteRequest - Record Class in it.unitn.disi.ds1.qtop
Message that asks for a vote.
Utils.VoteResponse - Record Class in it.unitn.disi.ds1.qtop
-Message that sends the vote.
+Message to send the vote of a node to the coordinator.
Utils.WriteRequest - Record Class in it.unitn.disi.ds1.qtop
-
-Utils.WriteResponse - Record Class in it.unitn.disi.ds1.qtop
-
+
+Message used by a Client to ask for a read operation.
+
Utils.WriteValue - Record Class in it.unitn.disi.ds1.qtop
-
+
+Message used by a Node to notify the Client that it received the WriteRequest, and reply to it.
+
V
value() - Method in record class it.unitn.disi.ds1.qtop.Utils.ReadValue
-Returns the value of the value
record component.
+Returns the value of the
value
record component.
value() - Method in record class it.unitn.disi.ds1.qtop.Utils.WriteValue
-Returns the value of the value
record component.
+Returns the value of the
value
record component.
valueOf(String) - Static method in enum class it.unitn.disi.ds1.qtop.Utils.CrashType
@@ -906,12 +966,14 @@ V
Creates an instance of a VoteResponse
record class.
VotersMap - Class in it.unitn.disi.ds1.qtop
-
+
+Class that represents/handle the voters map.
+
VotersMap() - Constructor for class it.unitn.disi.ds1.qtop.VotersMap
votes() - Method in record class it.unitn.disi.ds1.qtop.Utils.VotePair
-Returns the value of the votes
record component.
+Returns the value of the
votes
record component.
W
@@ -926,10 +988,6 @@ W
Creates an instance of a WriteRequest
record class.
- WriteResponse(int) - Constructor for record class it.unitn.disi.ds1.qtop.Utils.WriteResponse
-
-Creates an instance of a WriteResponse
record class.
-
WriteValue(int, int) - Constructor for record class it.unitn.disi.ds1.qtop.Utils.WriteValue
Creates an instance of a WriteValue
record class.
diff --git a/javadoc/it/unitn/disi/ds1/qtop/Client.html b/javadoc/it/unitn/disi/ds1/qtop/Client.html
index 8c9e813..53966a4 100644
--- a/javadoc/it/unitn/disi/ds1/qtop/Client.html
+++ b/javadoc/it/unitn/disi/ds1/qtop/Client.html
@@ -96,6 +96,8 @@ Class Client
public class Client
extends akka.actor.AbstractActor
+The Client actor is responsible for sending requests to the Nodes in the network. The requests are randomised
+ between read and write operations. The Client actor also has the ability to make crash a random Node in the network.
@@ -139,7 +140,9 @@ Method Summary
int decisionTimeout,
int voteTimeout,
int writeTimeout)
-
+
+
Start the simulation (network), with the given parameters.
+
@@ -180,6 +183,15 @@ startSimulation
int decisionTimeout,
int voteTimeout,
int writeTimeout)
+Start the simulation (network), with the given parameters.
+
+Parameters:
+numberOfNodes
- number of nodes
+numberOfClients
- number of clients
+decisionTimeout
- decision timeout
+voteTimeout
- vote timeout
+writeTimeout
- write timeout
+
diff --git a/javadoc/it/unitn/disi/ds1/qtop/Logger.html b/javadoc/it/unitn/disi/ds1/qtop/Logger.html
index 58de0fb..e686f98 100644
--- a/javadoc/it/unitn/disi/ds1/qtop/Logger.html
+++ b/javadoc/it/unitn/disi/ds1/qtop/Logger.html
@@ -90,6 +90,7 @@ Class Logger
public class Logger
extends Object
+Logger class to log messages to the console and to files.
diff --git a/javadoc/it/unitn/disi/ds1/qtop/Node.html b/javadoc/it/unitn/disi/ds1/qtop/Node.html
index 2d4aa32..c06dcde 100644
--- a/javadoc/it/unitn/disi/ds1/qtop/Node.html
+++ b/javadoc/it/unitn/disi/ds1/qtop/Node.html
@@ -96,6 +96,8 @@ Class Node
public class Node
extends akka.actor.AbstractActor
+Node class, it represents a single node in the network. It can be either receiver or coordinator.
+ During the election all the nodes become voters.
@@ -119,17 +120,23 @@ Method Summary
void
-
+
+
Add a crash to the network.
+
void
-
+
+
Shut down the network.
+
void
start (int numberOfNodes,
int numberOfClients,
int decisionTimeout,
int voteTimeout,
int writeTimeout)
-
+
+
Start the network with the given parameters.
+
@@ -169,18 +176,33 @@ start
int decisionTimeout,
int voteTimeout,
int writeTimeout)
+Start the network with the given parameters.
+
+Parameters:
+numberOfNodes
- number of nodes
+numberOfClients
- number of clients
+decisionTimeout
- decision timeout
+voteTimeout
- vote timeout
+writeTimeout
- write timeout
+
addCrashNode
public void addCrashNode (int crashType)
+Add a crash to the network.
+
+Parameters:
+crashType
- the type of crash
+
exit
public void exit ()
+Shut down the network.
diff --git a/javadoc/it/unitn/disi/ds1/qtop/SimulationCallback.html b/javadoc/it/unitn/disi/ds1/qtop/SimulationCallback.html
index 9e7d360..6bd5c86 100644
--- a/javadoc/it/unitn/disi/ds1/qtop/SimulationCallback.html
+++ b/javadoc/it/unitn/disi/ds1/qtop/SimulationCallback.html
@@ -90,6 +90,7 @@ Interface SimulationCallb
public interface SimulationCallback
+SimulationCallback interface to handle the simulation callbacks
diff --git a/javadoc/it/unitn/disi/ds1/qtop/TimeOutManager.html b/javadoc/it/unitn/disi/ds1/qtop/TimeOutManager.html
index 40f0678..9dd134e 100644
--- a/javadoc/it/unitn/disi/ds1/qtop/TimeOutManager.html
+++ b/javadoc/it/unitn/disi/ds1/qtop/TimeOutManager.html
@@ -98,6 +98,7 @@ Class TimeOutManager
+TimeOutManager class to manage the timeouts of a Node
See Also:
diff --git a/javadoc/it/unitn/disi/ds1/qtop/UserInterface.html b/javadoc/it/unitn/disi/ds1/qtop/UserInterface.html
index 7fc39db..101cf50 100644
--- a/javadoc/it/unitn/disi/ds1/qtop/UserInterface.html
+++ b/javadoc/it/unitn/disi/ds1/qtop/UserInterface.html
@@ -95,6 +95,7 @@ Class UserInterface
+UserInterface class to manage/generate the user interface.
diff --git a/javadoc/it/unitn/disi/ds1/qtop/Utils.CountDown.html b/javadoc/it/unitn/disi/ds1/qtop/Utils.CountDown.html
index c8d6745..c8b06bc 100644
--- a/javadoc/it/unitn/disi/ds1/qtop/Utils.CountDown.html
+++ b/javadoc/it/unitn/disi/ds1/qtop/Utils.CountDown.html
@@ -90,6 +90,11 @@ Record Class Utils.CountD
+Record Components:
+reason
- the reason for the timeout
+epoch
- (optional) epoch associated to it
+
+
All Implemented Interfaces:
Serializable
@@ -101,6 +106,7 @@ Record Class Utils.CountD
+ Message self-lopped by a node to trigger a timeout.
See Also:
@@ -142,7 +148,7 @@ Method Summary
-
Returns the value of the epoch
record component.
+
Returns the value of the
epoch
record component.
final boolean
@@ -157,7 +163,7 @@ Method Summary
-
Returns the value of the reason
record component.
+
Returns the value of the
reason
record component.
@@ -189,8 +195,8 @@ CountDown
Creates an instance of a CountDown
record class.
Parameters:
-reason
- the value for the reason
record component
-epoch
- the value for the epoch
record component
+reason
- the value for the reason
record component
+epoch
- the value for the epoch
record component
@@ -247,10 +253,10 @@ equals
reason
-Returns the value of the reason
record component.
+Returns the value of the
reason
record component.
Returns:
-the value of the reason
record component
+the value of the reason
record component
@@ -258,10 +264,10 @@ reason
epoch
-Returns the value of the epoch
record component.
+Returns the value of the
epoch
record component.
Returns:
-the value of the epoch
record component
+the value of the epoch
record component
diff --git a/javadoc/it/unitn/disi/ds1/qtop/Utils.CrashACK.html b/javadoc/it/unitn/disi/ds1/qtop/Utils.CrashACK.html
index 294daa4..001ab39 100644
--- a/javadoc/it/unitn/disi/ds1/qtop/Utils.CrashACK.html
+++ b/javadoc/it/unitn/disi/ds1/qtop/Utils.CrashACK.html
@@ -101,6 +101,7 @@ Record Class Utils.CrashAC
+ Message to acknowledge a CrashRequest.
See Also:
diff --git a/javadoc/it/unitn/disi/ds1/qtop/Utils.CrashRequest.html b/javadoc/it/unitn/disi/ds1/qtop/Utils.CrashRequest.html
index be1f8ea..da4eee3 100644
--- a/javadoc/it/unitn/disi/ds1/qtop/Utils.CrashRequest.html
+++ b/javadoc/it/unitn/disi/ds1/qtop/Utils.CrashRequest.html
@@ -101,6 +101,7 @@ Record Class Utils.Cra
+ Message to ask for a crash.
See Also:
diff --git a/javadoc/it/unitn/disi/ds1/qtop/Utils.CrashType.html b/javadoc/it/unitn/disi/ds1/qtop/Utils.CrashType.html
index 5c045f4..68d5a24 100644
--- a/javadoc/it/unitn/disi/ds1/qtop/Utils.CrashType.html
+++ b/javadoc/it/unitn/disi/ds1/qtop/Utils.CrashType.html
@@ -100,6 +100,7 @@ Enum Class Utils.CrashType<
+ Enum to represent all the possible crashes that can be triggered.
diff --git a/javadoc/it/unitn/disi/ds1/qtop/Utils.DecisionResponse.html b/javadoc/it/unitn/disi/ds1/qtop/Utils.DecisionResponse.html
index df6916e..3c1ca6f 100644
--- a/javadoc/it/unitn/disi/ds1/qtop/Utils.DecisionResponse.html
+++ b/javadoc/it/unitn/disi/ds1/qtop/Utils.DecisionResponse.html
@@ -90,6 +90,11 @@ Record Class Utils
+Record Components:
+decision
- the decision of the coordinator
+epoch
- epoch associated to the request
+
+
All Implemented Interfaces:
Serializable
@@ -101,6 +106,7 @@ Record Class Utils
+ Message to propagate the coordinator final decision regarding a certain epoch.
See Also:
@@ -142,12 +148,12 @@ Method Summary
-
Returns the value of the decision
record component.
+
Returns the value of the
decision
record component.
-
Returns the value of the epoch
record component.
+
Returns the value of the
epoch
record component.
final boolean
@@ -189,8 +195,8 @@ DecisionResponse
Creates an instance of a DecisionResponse
record class.
Parameters:
-decision
- the value for the decision
record component
-epoch
- the value for the epoch
record component
+decision
- the value for the decision
record component
+epoch
- the value for the epoch
record component
@@ -247,10 +253,10 @@ equals
decision
-Returns the value of the decision
record component.
+Returns the value of the
decision
record component.
Returns:
-the value of the decision
record component
+the value of the decision
record component
@@ -258,10 +264,10 @@ decision
epoch
-Returns the value of the epoch
record component.
+Returns the value of the
epoch
record component.
Returns:
-the value of the epoch
record component
+the value of the epoch
record component
diff --git a/javadoc/it/unitn/disi/ds1/qtop/Utils.Election.html b/javadoc/it/unitn/disi/ds1/qtop/Utils.Election.html
index 2a8e0b5..849e6fb 100644
--- a/javadoc/it/unitn/disi/ds1/qtop/Utils.Election.html
+++ b/javadoc/it/unitn/disi/ds1/qtop/Utils.Election.html
@@ -90,6 +90,12 @@ Record Class Utils.Electio
+Record Components:
+highestEpoch
- highest epoch known
+highestIteration
- highest iteration known
+bestCandidateId
- node that have that EpochPair
+
+
All Implemented Interfaces:
Serializable
@@ -101,6 +107,7 @@ Record Class Utils.Electio
public static record Utils.Election (int highestEpoch, int highestIteration, int bestCandidateId)
extends Record
implements Serializable
+ Message to send election data
See Also:
@@ -143,7 +150,7 @@ Method Summary
int
-
Returns the value of the bestCandidateId
record component.
+
final boolean
@@ -158,12 +165,12 @@ Method Summary
int
-
Returns the value of the highestEpoch
record component.
+
int
-
Returns the value of the highestIteration
record component.
+
@@ -196,9 +203,9 @@ Election
Creates an instance of a Election
record class.
Parameters:
-highestEpoch
- the value for the highestEpoch
record component
-highestIteration
- the value for the highestIteration
record component
-bestCandidateId
- the value for the bestCandidateId
record component
+highestEpoch
- the value for the highestEpoch
record component
+highestIteration
- the value for the highestIteration
record component
+bestCandidateId
- the value for the bestCandidateId
record component
@@ -255,10 +262,10 @@ equals
highestEpoch
public int highestEpoch ()
-Returns the value of the highestEpoch
record component.
+
Returns:
-the value of the highestEpoch
record component
+the value of the highestEpoch
record component
@@ -266,10 +273,10 @@ highestEpoch
highestIteration
public int highestIteration ()
-Returns the value of the highestIteration
record component.
+
Returns:
-the value of the highestIteration
record component
+the value of the highestIteration
record component
@@ -277,10 +284,10 @@ highestIteration
bestCandidateId
public int bestCandidateId ()
-Returns the value of the bestCandidateId
record component.
+
Returns:
-the value of the bestCandidateId
record component
+the value of the bestCandidateId
record component
diff --git a/javadoc/it/unitn/disi/ds1/qtop/Utils.ElectionACK.html b/javadoc/it/unitn/disi/ds1/qtop/Utils.ElectionACK.html
index 8bb7b42..febf39b 100644
--- a/javadoc/it/unitn/disi/ds1/qtop/Utils.ElectionACK.html
+++ b/javadoc/it/unitn/disi/ds1/qtop/Utils.ElectionACK.html
@@ -101,6 +101,7 @@ Record Class Utils.Elec
+ Message to acknowledge an Election
See Also:
diff --git a/javadoc/it/unitn/disi/ds1/qtop/Utils.EpochPair.html b/javadoc/it/unitn/disi/ds1/qtop/Utils.EpochPair.html
index 17ef096..21cded1 100644
--- a/javadoc/it/unitn/disi/ds1/qtop/Utils.EpochPair.html
+++ b/javadoc/it/unitn/disi/ds1/qtop/Utils.EpochPair.html
@@ -90,6 +90,11 @@ Record Class Utils.EpochP
+Record Components:
+e
- epoch
+i
- iteration
+
+
All Implemented Interfaces:
Serializable
@@ -101,6 +106,7 @@ Record Class Utils.EpochP
+ Struct to represent and send an epoch and an iteration.
See Also:
@@ -142,7 +148,7 @@ Method Summary
int
-
Returns the value of the e
record component.
+
Returns the value of the
e
record component.
final boolean
@@ -157,7 +163,7 @@ Method Summary
int
-
Returns the value of the i
record component.
+
Returns the value of the
i
record component.
@@ -189,8 +195,8 @@ EpochPair
Creates an instance of a EpochPair
record class.
Parameters:
-e
- the value for the e
record component
-i
- the value for the i
record component
+e
- the value for the e
record component
+i
- the value for the i
record component
@@ -247,10 +253,10 @@ equals
e
public int e ()
-Returns the value of the e
record component.
+Returns the value of the
e
record component.
Returns:
-the value of the e
record component
+the value of the e
record component
@@ -258,10 +264,10 @@ e
i
public int i ()
-Returns the value of the i
record component.
+Returns the value of the
i
record component.
Returns:
-the value of the i
record component
+the value of the i
record component
diff --git a/javadoc/it/unitn/disi/ds1/qtop/Utils.HeartBeat.html b/javadoc/it/unitn/disi/ds1/qtop/Utils.HeartBeat.html
index b7fac08..8196386 100644
--- a/javadoc/it/unitn/disi/ds1/qtop/Utils.HeartBeat.html
+++ b/javadoc/it/unitn/disi/ds1/qtop/Utils.HeartBeat.html
@@ -101,6 +101,7 @@ Record Class Utils.HeartB
+ Special message to multicast a heartbeat from a coordinator to all the nodes.
See Also:
diff --git a/javadoc/it/unitn/disi/ds1/qtop/Utils.LogLevel.html b/javadoc/it/unitn/disi/ds1/qtop/Utils.LogLevel.html
index 62bd369..be0007b 100644
--- a/javadoc/it/unitn/disi/ds1/qtop/Utils.LogLevel.html
+++ b/javadoc/it/unitn/disi/ds1/qtop/Utils.LogLevel.html
@@ -100,6 +100,7 @@ Enum Class Utils.LogLevel
+ Enum to represent all the log levels.
diff --git a/javadoc/it/unitn/disi/ds1/qtop/Utils.VotePair.html b/javadoc/it/unitn/disi/ds1/qtop/Utils.VotePair.html
index f43073a..6835cb0 100644
--- a/javadoc/it/unitn/disi/ds1/qtop/Utils.VotePair.html
+++ b/javadoc/it/unitn/disi/ds1/qtop/Utils.VotePair.html
@@ -90,12 +90,18 @@ Record Class Utils.VotePai
+Record Components:
+votes
- map of voters
+finalDecision
- coordinator final decision
+
+
Enclosing class:
Utils
+Struct to represent the map of voters for every write, and the final decision taken for that write.
@@ -134,7 +140,7 @@ Method Summary
-
Returns the value of the finalDecision
record component.
+
final int
@@ -149,7 +155,7 @@ Method Summary
-
Returns the value of the votes
record component.
+
Returns the value of the
votes
record component.
@@ -176,8 +182,8 @@ VotePair
Creates an instance of a VotePair
record class.
Parameters:
-votes
- the value for the votes
record component
-finalDecision
- the value for the finalDecision
record component
+votes
- the value for the votes
record component
+finalDecision
- the value for the finalDecision
record component
@@ -234,10 +240,10 @@ equals
votes
-Returns the value of the votes
record component.
+Returns the value of the
votes
record component.
Returns:
-the value of the votes
record component
+the value of the votes
record component
@@ -245,10 +251,10 @@ votes
finalDecision
-Returns the value of the finalDecision
record component.
+
Returns:
-the value of the finalDecision
record component
+the value of the finalDecision
record component
diff --git a/javadoc/it/unitn/disi/ds1/qtop/Utils.VoteResponse.html b/javadoc/it/unitn/disi/ds1/qtop/Utils.VoteResponse.html
index e2b5674..b0684a6 100644
--- a/javadoc/it/unitn/disi/ds1/qtop/Utils.VoteResponse.html
+++ b/javadoc/it/unitn/disi/ds1/qtop/Utils.VoteResponse.html
@@ -106,7 +106,7 @@ Record Class Utils.Vot
- Message that sends the vote.
+Message to send the vote of a node to the coordinator.
See Also:
diff --git a/javadoc/it/unitn/disi/ds1/qtop/Utils.WriteRequest.html b/javadoc/it/unitn/disi/ds1/qtop/Utils.WriteRequest.html
index 93658ff..bd8e34c 100644
--- a/javadoc/it/unitn/disi/ds1/qtop/Utils.WriteRequest.html
+++ b/javadoc/it/unitn/disi/ds1/qtop/Utils.WriteRequest.html
@@ -90,6 +90,11 @@ Record Class Utils.Wri
+Record Components:
+newValue
- the new value proposed by the Client
+nRequest
- the number of the request
+
+
All Implemented Interfaces:
Serializable
@@ -101,6 +106,7 @@ Record Class Utils.Wri
public static record Utils.WriteRequest (int newValue, int nRequest)
extends Record
implements Serializable
+ Message used by a Client to ask for a read operation.
See Also:
@@ -152,12 +158,12 @@ Method Summary
int
-
Returns the value of the newValue
record component.
+
Returns the value of the
newValue
record component.
int
-
Returns the value of the nRequest
record component.
+
Returns the value of the
nRequest
record component.
@@ -189,8 +195,8 @@ WriteRequest
Creates an instance of a WriteRequest
record class.
Parameters:
-newValue
- the value for the newValue
record component
-nRequest
- the value for the nRequest
record component
+newValue
- the value for the newValue
record component
+nRequest
- the value for the nRequest
record component
@@ -247,10 +253,10 @@ equals
newValue
public int newValue ()
-Returns the value of the newValue
record component.
+Returns the value of the
newValue
record component.
Returns:
-the value of the newValue
record component
+the value of the newValue
record component
@@ -258,10 +264,10 @@ newValue
nRequest
public int nRequest ()
-Returns the value of the nRequest
record component.
+Returns the value of the
nRequest
record component.
Returns:
-the value of the nRequest
record component
+the value of the nRequest
record component
diff --git a/javadoc/it/unitn/disi/ds1/qtop/Utils.WriteResponse.html b/javadoc/it/unitn/disi/ds1/qtop/Utils.WriteResponse.html
deleted file mode 100644
index f89ccbb..0000000
--- a/javadoc/it/unitn/disi/ds1/qtop/Utils.WriteResponse.html
+++ /dev/null
@@ -1,259 +0,0 @@
-
-
-
-
-Utils.WriteResponse (q-top 1.0-SNAPSHOT API)
-
-
-
-
-
-
-
-
-
-
-
-
-
-JavaScript is disabled on your browser.
-
-
-
-
-
-
-
-
-
-
-All Implemented Interfaces:
-Serializable
-
-
-Enclosing class:
-Utils
-
-
-public static record Utils.WriteResponse (int nRequest)
-
extends Record
-implements Serializable
-
-See Also:
-
-
-
-
-
-
-
-
-
-
-Constructor Summary
-Constructors
-
-
-
-
-
-
Creates an instance of a WriteResponse
record class.
-
-
-
-
-
-
-
-Method Summary
-
-
All Methods Instance Methods Concrete Methods
-
-
-
-
-
-
final boolean
-
-
-
Indicates whether some other object is "equal to" this one.
-
-
final int
-
-
-
Returns a hash code value for this object.
-
-
int
-
-
-
Returns the value of the nRequest
record component.
-
-
-
-
-
Returns a string representation of this record class.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Constructor Details
-
-
-
-WriteResponse
-public WriteResponse (int nRequest)
-Creates an instance of a WriteResponse
record class.
-
-Parameters:
-nRequest
- the value for the nRequest
record component
-
-
-
-
-
-
-
-
-
-Method Details
-
-
-
-toString
-public final String toString ()
-Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
-
-Specified by:
-toString
in class Record
-Returns:
-a string representation of this object
-
-
-
-
-
-hashCode
-public final int hashCode ()
-Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
-
-Specified by:
-hashCode
in class Record
-Returns:
-a hash code value for this object
-
-
-
-
-
-equals
-public final boolean equals (Object o)
-Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with '=='.
-
-Specified by:
-equals
in class Record
-Parameters:
-o
- the object with which to compare
-Returns:
-true
if this object is the same as the o
argument; false
otherwise.
-
-
-
-
-
-nRequest
-public int nRequest ()
-Returns the value of the nRequest
record component.
-
-Returns:
-the value of the nRequest
record component
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/javadoc/it/unitn/disi/ds1/qtop/Utils.WriteValue.html b/javadoc/it/unitn/disi/ds1/qtop/Utils.WriteValue.html
index cd34178..1093488 100644
--- a/javadoc/it/unitn/disi/ds1/qtop/Utils.WriteValue.html
+++ b/javadoc/it/unitn/disi/ds1/qtop/Utils.WriteValue.html
@@ -90,6 +90,11 @@ Record Class Utils.Write
+Record Components:
+value
- the value written by the Node
+nRequest
- the number of the request
+
+
All Implemented Interfaces:
Serializable
@@ -101,6 +106,7 @@ Record Class Utils.Write
public static record Utils.WriteValue (int value, int nRequest)
extends Record
implements Serializable
+ Message used by a Node to notify the Client that it received the WriteRequest, and reply to it.
See Also:
@@ -152,7 +158,7 @@ Method Summary
int
-
Returns the value of the nRequest
record component.
+
Returns the value of the
nRequest
record component.
@@ -162,7 +168,7 @@ Method Summary
int
-
Returns the value of the value
record component.
+
Returns the value of the
value
record component.
@@ -189,8 +195,8 @@ WriteValue
Creates an instance of a WriteValue
record class.
Parameters:
-value
- the value for the value
record component
-nRequest
- the value for the nRequest
record component
+value
- the value for the value
record component
+nRequest
- the value for the nRequest
record component
@@ -247,10 +253,10 @@ equals
value
public int value ()
-Returns the value of the value
record component.
+Returns the value of the
value
record component.
Returns:
-the value of the value
record component
+the value of the value
record component
@@ -258,10 +264,10 @@ value
nRequest
public int nRequest ()
-Returns the value of the nRequest
record component.
+Returns the value of the
nRequest
record component.
Returns:
-the value of the nRequest
record component
+the value of the nRequest
record component
diff --git a/javadoc/it/unitn/disi/ds1/qtop/Utils.html b/javadoc/it/unitn/disi/ds1/qtop/Utils.html
index 1b2c8ac..d876ac7 100644
--- a/javadoc/it/unitn/disi/ds1/qtop/Utils.html
+++ b/javadoc/it/unitn/disi/ds1/qtop/Utils.html
@@ -90,6 +90,7 @@ Class Utils
public class Utils
extends Object
+Class that contains all the utility classes and messages used by the actors.
@@ -104,49 +105,79 @@ Nested Class Summary
static final record
-
+
+
Message self-lopped by a node to trigger a timeout.
+
static final record
-
+
+
Message to acknowledge a CrashRequest.
+
static final record
-
+
+
Message to ask for a crash.
+
static enum
-
+
+
Enum to represent all the possible crashes that can be triggered.
+
static enum
-
+
+
Enum to represent all the possible decisions that can be taken by the coordinator.
+
static final record
-
+
+
Message to propagate the coordinator final decision regarding a certain epoch.
+
static final record
-
+
+
Message to send election data
+
static final record
-
+
+
Message to acknowledge an Election
+
static final record
-
+
+
Struct to represent and send an epoch and an iteration.
+
static final record
-
+
+
Special message to multicast a heartbeat from a coordinator to all the nodes.
+
static enum
-
+
+
Enum to represent all the log levels.
+
static final record
-
+
+
Message used by a Client to generate a random request to a random Node.
+
static final record
-
+
+
Struct cache the best candidate data during the election.
+
static final record
-
+
+
Message used by a Client to ask for a read operation.
+
static final record
-
+
+
Message used by a Node to notify the Client that it received the ReadRequest, and reply to it.
+
static final record
@@ -154,19 +185,29 @@
Nested Class Summary
static final record
-
+
+
Message to synchronise all the node after an election.
+
static final record
-
+
+
Message to notify a timeout.
+
static enum
-
+
+
Enum to represent all the possible reasons for a timeout.
+
static enum
-
+
+
Enum to represent all the possible votes that can be taken by a Node.
+
static final record
-
+
+
Struct to represent the map of voters for every write, and the final decision taken for that write.
+
static final record
@@ -175,17 +216,18 @@
Nested Class Summary
static final record
-
Message that sends the vote.
+
Message to send the vote of a node to the coordinator.
static final record
-
+
+
Message used by a Client to ask for a read operation.
+
static final record
-
-
-
static final record
-
-
+
+
+
Message used by a Node to notify the Client that it received the WriteRequest, and reply to it.
+
diff --git a/javadoc/it/unitn/disi/ds1/qtop/VotersMap.html b/javadoc/it/unitn/disi/ds1/qtop/VotersMap.html
index b311660..0c4fc65 100644
--- a/javadoc/it/unitn/disi/ds1/qtop/VotersMap.html
+++ b/javadoc/it/unitn/disi/ds1/qtop/VotersMap.html
@@ -100,6 +100,7 @@ Class VotersMap
+Class that represents/handle the voters map.
See Also:
diff --git a/javadoc/it/unitn/disi/ds1/qtop/package-summary.html b/javadoc/it/unitn/disi/ds1/qtop/package-summary.html
index dbc6dbc..777694c 100644
--- a/javadoc/it/unitn/disi/ds1/qtop/package-summary.html
+++ b/javadoc/it/unitn/disi/ds1/qtop/package-summary.html
@@ -77,87 +77,153 @@ Package it.unitn.disi.d
-
+
+
The Client actor is responsible for sending requests to the Nodes in the network.
+
-
+
+
Controller for the simulation.
+
-
+
+
Logger class to log messages to the console and to files.
+
-
+
+
Node class, it represents a single node in the network.
+
-
+
+
PairsHistory class to store the history of the pairs and the final decision associated to it
+
-
+
+
Main class to start the simulation.
+
-
+
+
Simulation class layer between the UserInterface and the network.
+
-
+
+
SimulationCallback interface to handle the simulation callbacks
+
-
+
+
TimeOutManager class to manage the timeouts of a Node
+
-
+
+
UserInterface class to manage/generate the user interface.
+
-
+
+
Class that contains all the utility classes and messages used by the actors.
+
-
+
+
Message self-lopped by a node to trigger a timeout.
+
-
+
+
Message to acknowledge a CrashRequest.
+
-
+
+
Message to ask for a crash.
+
-
+
+
Enum to represent all the possible crashes that can be triggered.
+
-
+
+
Enum to represent all the possible decisions that can be taken by the coordinator.
+
-
+
+
Message to propagate the coordinator final decision regarding a certain epoch.
+
-
+
+
Message to send election data
+
-
+
+
Message to acknowledge an Election
+
-
+
+
Struct to represent and send an epoch and an iteration.
+
-
+
+
Special message to multicast a heartbeat from a coordinator to all the nodes.
+
-
+
+
Enum to represent all the log levels.
+
-
+
+
Message used by a Client to generate a random request to a random Node.
+
-
+
+
Struct cache the best candidate data during the election.
+
-
+
+
Message used by a Client to ask for a read operation.
+
-
+
+
Message used by a Node to notify the Client that it received the ReadRequest, and reply to it.
+
Start message that sends the list of participants to everyone.
-
+
+
Message to synchronise all the node after an election.
+
-
+
+
Message to notify a timeout.
+
-
+
+
Enum to represent all the possible reasons for a timeout.
+
-
+
+
Enum to represent all the possible votes that can be taken by a Node.
+
-
+
+
Struct to represent the map of voters for every write, and the final decision taken for that write.
+
Message that asks for a vote.
-
Message that sends the vote.
+
Message to send the vote of a node to the coordinator.
-
-
-
-
-
-
-
+
+
Message used by a Client to ask for a read operation.
+
+
+
+
Message used by a Node to notify the Client that it received the WriteRequest, and reply to it.
+
+
+
+
Class that represents/handle the voters map.
+
diff --git a/javadoc/it/unitn/disi/ds1/qtop/package-tree.html b/javadoc/it/unitn/disi/ds1/qtop/package-tree.html
index cf3f06d..9b0ce61 100644
--- a/javadoc/it/unitn/disi/ds1/qtop/package-tree.html
+++ b/javadoc/it/unitn/disi/ds1/qtop/package-tree.html
@@ -142,7 +142,6 @@ Record Class Hierarchy
it.unitn.disi.ds1.qtop.Utils.VoteRequest (implements java.io.Serializable )
it.unitn.disi.ds1.qtop.Utils.VoteResponse (implements java.io.Serializable )
it.unitn.disi.ds1.qtop.Utils.WriteRequest (implements java.io.Serializable )
-it.unitn.disi.ds1.qtop.Utils.WriteResponse (implements java.io.Serializable )
it.unitn.disi.ds1.qtop.Utils.WriteValue (implements java.io.Serializable )
diff --git a/javadoc/member-search-index.js b/javadoc/member-search-index.js
index 2a4724b..7a5ce20 100644
--- a/javadoc/member-search-index.js
+++ b/javadoc/member-search-index.js
@@ -1 +1 @@
-memberSearchIndex = [{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Decision","l":"ABORT"},{"p":"it.unitn.disi.ds1.qtop","c":"Simulation","l":"addCrashNode(int)"},{"p":"it.unitn.disi.ds1.qtop","c":"Node","l":"becomeCoordinator()"},{"p":"it.unitn.disi.ds1.qtop","c":"Node","l":"becomeReceiver()"},{"p":"it.unitn.disi.ds1.qtop","c":"Node","l":"becomeVoter()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Election","l":"bestCandidateId()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Quadruplet","l":"bestCandidateId()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.TimeOutReason","l":"CLIENT_REQUEST"},{"p":"it.unitn.disi.ds1.qtop","c":"Client","l":"Client(int, List, int)","u":"%3Cinit%3E(int,java.util.List,int)"},{"p":"it.unitn.disi.ds1.qtop","c":"TimeOutManager","l":"clientHandleCountDown(Utils.TimeOutReason, int, Client)","u":"clientHandleCountDown(it.unitn.disi.ds1.qtop.Utils.TimeOutReason,int,it.unitn.disi.ds1.qtop.Client)"},{"p":"it.unitn.disi.ds1.qtop","c":"Client","l":"clientId"},{"p":"it.unitn.disi.ds1.qtop","c":"Controller","l":"clientMenu()"},{"p":"it.unitn.disi.ds1.qtop","c":"SimulationCallback","l":"clientMenu()"},{"p":"it.unitn.disi.ds1.qtop","c":"UserInterface","l":"clientMenu()"},{"p":"it.unitn.disi.ds1.qtop","c":"Controller","l":"Controller(Simulation, UserInterface)","u":"%3Cinit%3E(it.unitn.disi.ds1.qtop.Simulation,it.unitn.disi.ds1.qtop.UserInterface)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CrashType","l":"COORDINATOR_AFTER_RW_REQUEST"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CrashType","l":"COORDINATOR_BEFORE_RW_REQUEST"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CrashType","l":"COORDINATOR_NO_QUORUM"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CrashType","l":"COORDINATOR_ON_COMMUNICATION"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CrashType","l":"COORDINATOR_QUORUM"},{"p":"it.unitn.disi.ds1.qtop","c":"Node","l":"coordinatorBehaviour()"},{"p":"it.unitn.disi.ds1.qtop","c":"Node","l":"coordinatorOnStartMessage(Utils.StartMessage)","u":"coordinatorOnStartMessage(it.unitn.disi.ds1.qtop.Utils.StartMessage)"},{"p":"it.unitn.disi.ds1.qtop","c":"Node","l":"coordinatorOnVoteResponse(Utils.VoteResponse)","u":"coordinatorOnVoteResponse(it.unitn.disi.ds1.qtop.Utils.VoteResponse)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CountDown","l":"CountDown(Utils.TimeOutReason, Utils.EpochPair)","u":"%3Cinit%3E(it.unitn.disi.ds1.qtop.Utils.TimeOutReason,it.unitn.disi.ds1.qtop.Utils.EpochPair)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.TimeOutReason","l":"CRASH_RESPONSE"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CrashACK","l":"CrashACK()","u":"%3Cinit%3E()"},{"p":"it.unitn.disi.ds1.qtop","c":"Controller","l":"crashNode(int)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CrashRequest","l":"CrashRequest(Utils.CrashType)","u":"%3Cinit%3E(it.unitn.disi.ds1.qtop.Utils.CrashType)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CrashRequest","l":"crashType()"},{"p":"it.unitn.disi.ds1.qtop","c":"Client","l":"createReceive()"},{"p":"it.unitn.disi.ds1.qtop","c":"Node","l":"createReceive()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.LogLevel","l":"DEBUG"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.DecisionResponse","l":"decision()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.DecisionResponse","l":"DecisionResponse(Utils.Decision, Utils.EpochPair)","u":"%3Cinit%3E(it.unitn.disi.ds1.qtop.Utils.Decision,it.unitn.disi.ds1.qtop.Utils.EpochPair)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Quadruplet","l":"destinationId()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.EpochPair","l":"e()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.TimeOutReason","l":"ELECTION"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Election","l":"Election(int, int, int)","u":"%3Cinit%3E(int,int,int)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.ElectionACK","l":"ElectionACK()","u":"%3Cinit%3E()"},{"p":"it.unitn.disi.ds1.qtop","c":"TimeOutManager","l":"endElectionState()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CountDown","l":"epoch()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.DecisionResponse","l":"epoch()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.TimeOut","l":"epoch()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.VoteRequest","l":"epoch()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.VoteResponse","l":"epoch()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.EpochPair","l":"EpochPair(int, int)","u":"%3Cinit%3E(int,int)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CountDown","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CrashACK","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CrashRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.DecisionResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Election","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.ElectionACK","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.EpochPair","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.HeartBeat","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.MakeRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Quadruplet","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.ReadRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.ReadValue","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.StartMessage","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Synchronisation","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.TimeOut","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.VotePair","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.VoteRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.VoteResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.WriteRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.WriteResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.WriteValue","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.LogLevel","l":"ERROR"},{"p":"it.unitn.disi.ds1.qtop","c":"Simulation","l":"exit()"},{"p":"it.unitn.disi.ds1.qtop","c":"Controller","l":"exitSimulation()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.VotePair","l":"finalDecision()"},{"p":"it.unitn.disi.ds1.qtop","c":"Logger","l":"getInstance()"},{"p":"it.unitn.disi.ds1.qtop","c":"PairsHistory","l":"getLatest()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.StartMessage","l":"group()"},{"p":"it.unitn.disi.ds1.qtop","c":"TimeOutManager","l":"handleCountDown(Utils.TimeOutReason, int, Node)","u":"handleCountDown(it.unitn.disi.ds1.qtop.Utils.TimeOutReason,int,it.unitn.disi.ds1.qtop.Node)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CountDown","l":"hashCode()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CrashACK","l":"hashCode()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CrashRequest","l":"hashCode()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.DecisionResponse","l":"hashCode()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Election","l":"hashCode()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.ElectionACK","l":"hashCode()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.EpochPair","l":"hashCode()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.HeartBeat","l":"hashCode()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.MakeRequest","l":"hashCode()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Quadruplet","l":"hashCode()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.ReadRequest","l":"hashCode()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.ReadValue","l":"hashCode()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.StartMessage","l":"hashCode()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Synchronisation","l":"hashCode()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.TimeOut","l":"hashCode()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.VotePair","l":"hashCode()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.VoteRequest","l":"hashCode()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.VoteResponse","l":"hashCode()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.WriteRequest","l":"hashCode()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.WriteResponse","l":"hashCode()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.WriteValue","l":"hashCode()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.TimeOutReason","l":"HEARTBEAT"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.HeartBeat","l":"HeartBeat()","u":"%3Cinit%3E()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Election","l":"highestEpoch()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Quadruplet","l":"highestEpoch()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Election","l":"highestIteration()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Quadruplet","l":"highestIteration()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Synchronisation","l":"history()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.EpochPair","l":"i()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.LogLevel","l":"INFO"},{"p":"it.unitn.disi.ds1.qtop","c":"VotersMap","l":"insert(int, int, ActorRef, Utils.Vote)","u":"insert(int,int,akka.actor.ActorRef,it.unitn.disi.ds1.qtop.Utils.Vote)"},{"p":"it.unitn.disi.ds1.qtop","c":"PairsHistory","l":"insert(int, int, int)","u":"insert(int,int,int)"},{"p":"it.unitn.disi.ds1.qtop","c":"Logger","l":"log(Utils.LogLevel, String)","u":"log(it.unitn.disi.ds1.qtop.Utils.LogLevel,java.lang.String)"},{"p":"it.unitn.disi.ds1.qtop","c":"QTop","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.MakeRequest","l":"MakeRequest()","u":"%3Cinit%3E()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Synchronisation","l":"newEpochPair()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.VoteRequest","l":"newValue()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.WriteRequest","l":"newValue()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Vote","l":"NO"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CrashType","l":"NO_CRASH"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CrashType","l":"NODE_AFTER_VOTE_CAST"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CrashType","l":"NODE_AFTER_VOTE_REQUEST"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CrashType","l":"NODE_AFTER_WRITE_REQUEST"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CrashType","l":"NODE_BEFORE_WRITE_REQUEST"},{"p":"it.unitn.disi.ds1.qtop","c":"Node","l":"Node(ActorRef, int, int, int, int, int)","u":"%3Cinit%3E(akka.actor.ActorRef,int,int,int,int,int)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.ReadRequest","l":"nRequest()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.ReadValue","l":"nRequest()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.WriteRequest","l":"nRequest()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.WriteResponse","l":"nRequest()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.WriteValue","l":"nRequest()"},{"p":"it.unitn.disi.ds1.qtop","c":"Client","l":"onStartMessage(Utils.StartMessage)","u":"onStartMessage(it.unitn.disi.ds1.qtop.Utils.StartMessage)"},{"p":"it.unitn.disi.ds1.qtop","c":"PairsHistory","l":"PairsHistory()","u":"%3Cinit%3E()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Decision","l":"PENDING"},{"p":"it.unitn.disi.ds1.qtop","c":"Node","l":"props(ActorRef, int, int, int, int, int)","u":"props(akka.actor.ActorRef,int,int,int,int,int)"},{"p":"it.unitn.disi.ds1.qtop","c":"Client","l":"props(int, List, int)","u":"props(int,java.util.List,int)"},{"p":"it.unitn.disi.ds1.qtop","c":"QTop","l":"QTop()","u":"%3Cinit%3E()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Quadruplet","l":"Quadruplet(int, int, int, int)","u":"%3Cinit%3E(int,int,int,int)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.ReadRequest","l":"ReadRequest(int)","u":"%3Cinit%3E(int)"},{"p":"it.unitn.disi.ds1.qtop","c":"PairsHistory","l":"readValidVariable()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.ReadValue","l":"ReadValue(int, int)","u":"%3Cinit%3E(int,int)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CountDown","l":"reason()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.TimeOut","l":"reason()"},{"p":"it.unitn.disi.ds1.qtop","c":"TimeOutManager","l":"resetCountDown(Utils.TimeOutReason, int)","u":"resetCountDown(it.unitn.disi.ds1.qtop.Utils.TimeOutReason,int)"},{"p":"it.unitn.disi.ds1.qtop","c":"UserInterface","l":"setController(Controller)","u":"setController(it.unitn.disi.ds1.qtop.Controller)"},{"p":"it.unitn.disi.ds1.qtop","c":"VotersMap","l":"setDecision(Utils.Decision, int, int)","u":"setDecision(it.unitn.disi.ds1.qtop.Utils.Decision,int,int)"},{"p":"it.unitn.disi.ds1.qtop","c":"Logger","l":"setLogLevel(Utils.LogLevel)","u":"setLogLevel(it.unitn.disi.ds1.qtop.Utils.LogLevel)"},{"p":"it.unitn.disi.ds1.qtop","c":"PairsHistory","l":"setState(int, int, Utils.Decision)","u":"setState(int,int,it.unitn.disi.ds1.qtop.Utils.Decision)"},{"p":"it.unitn.disi.ds1.qtop","c":"Simulation","l":"Simulation()","u":"%3Cinit%3E()"},{"p":"it.unitn.disi.ds1.qtop","c":"SimulationCallback","l":"start()"},{"p":"it.unitn.disi.ds1.qtop","c":"UserInterface","l":"start()"},{"p":"it.unitn.disi.ds1.qtop","c":"Simulation","l":"start(int, int, int, int, int)","u":"start(int,int,int,int,int)"},{"p":"it.unitn.disi.ds1.qtop","c":"TimeOutManager","l":"startCountDown(Utils.TimeOutReason, Cancellable, int)","u":"startCountDown(it.unitn.disi.ds1.qtop.Utils.TimeOutReason,akka.actor.Cancellable,int)"},{"p":"it.unitn.disi.ds1.qtop","c":"TimeOutManager","l":"startElectionState()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.StartMessage","l":"StartMessage(List)","u":"%3Cinit%3E(java.util.List)"},{"p":"it.unitn.disi.ds1.qtop","c":"Controller","l":"startSimulation(int, int, int, int, int)","u":"startSimulation(int,int,int,int,int)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Synchronisation","l":"Synchronisation(PairsHistory, Utils.EpochPair)","u":"%3Cinit%3E(it.unitn.disi.ds1.qtop.PairsHistory,it.unitn.disi.ds1.qtop.Utils.EpochPair)"},{"p":"it.unitn.disi.ds1.qtop","c":"Client","l":"tell(ActorRef, Object, ActorRef)","u":"tell(akka.actor.ActorRef,java.lang.Object,akka.actor.ActorRef)"},{"p":"it.unitn.disi.ds1.qtop","c":"Node","l":"tell(ActorRef, Object, ActorRef)","u":"tell(akka.actor.ActorRef,java.lang.Object,akka.actor.ActorRef)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.TimeOut","l":"TimeOut(Utils.TimeOutReason, Utils.EpochPair)","u":"%3Cinit%3E(it.unitn.disi.ds1.qtop.Utils.TimeOutReason,it.unitn.disi.ds1.qtop.Utils.EpochPair)"},{"p":"it.unitn.disi.ds1.qtop","c":"TimeOutManager","l":"TimeOutManager(int, int, int, int, int, int)","u":"%3Cinit%3E(int,int,int,int,int,int)"},{"p":"it.unitn.disi.ds1.qtop","c":"PairsHistory","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"TimeOutManager","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CountDown","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CrashACK","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CrashRequest","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.DecisionResponse","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Election","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.ElectionACK","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.EpochPair","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.HeartBeat","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.MakeRequest","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Quadruplet","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.ReadRequest","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.ReadValue","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.StartMessage","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Synchronisation","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.TimeOut","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.VotePair","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.VoteRequest","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.VoteResponse","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.WriteRequest","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.WriteResponse","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.WriteValue","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.LogLevel","l":"TRACE"},{"p":"it.unitn.disi.ds1.qtop","c":"UserInterface","l":"UserInterface(Controller)","u":"%3Cinit%3E(it.unitn.disi.ds1.qtop.Controller)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils","l":"Utils()","u":"%3Cinit%3E()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.ReadValue","l":"value()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.WriteValue","l":"value()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CrashType","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Decision","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.LogLevel","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.TimeOutReason","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Vote","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CrashType","l":"values()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Decision","l":"values()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.LogLevel","l":"values()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.TimeOutReason","l":"values()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Vote","l":"values()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.TimeOutReason","l":"VOTE"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.VoteResponse","l":"vote()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.VotePair","l":"VotePair(HashMap, Utils.Decision)","u":"%3Cinit%3E(java.util.HashMap,it.unitn.disi.ds1.qtop.Utils.Decision)"},{"p":"it.unitn.disi.ds1.qtop","c":"Node","l":"voterBehaviour()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.VoteRequest","l":"VoteRequest(int, Utils.EpochPair)","u":"%3Cinit%3E(int,it.unitn.disi.ds1.qtop.Utils.EpochPair)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.VoteResponse","l":"VoteResponse(Utils.Vote, Utils.EpochPair)","u":"%3Cinit%3E(it.unitn.disi.ds1.qtop.Utils.Vote,it.unitn.disi.ds1.qtop.Utils.EpochPair)"},{"p":"it.unitn.disi.ds1.qtop","c":"VotersMap","l":"VotersMap()","u":"%3Cinit%3E()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.VotePair","l":"votes()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.LogLevel","l":"WARN"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.TimeOutReason","l":"WRITE"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Decision","l":"WRITEOK"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.WriteRequest","l":"WriteRequest(int, int)","u":"%3Cinit%3E(int,int)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.WriteResponse","l":"WriteResponse(int)","u":"%3Cinit%3E(int)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.WriteValue","l":"WriteValue(int, int)","u":"%3Cinit%3E(int,int)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Vote","l":"YES"}];updateSearchResults();
\ No newline at end of file
+memberSearchIndex = [{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Decision","l":"ABORT"},{"p":"it.unitn.disi.ds1.qtop","c":"Simulation","l":"addCrashNode(int)"},{"p":"it.unitn.disi.ds1.qtop","c":"Node","l":"becomeCoordinator()"},{"p":"it.unitn.disi.ds1.qtop","c":"Node","l":"becomeReceiver()"},{"p":"it.unitn.disi.ds1.qtop","c":"Node","l":"becomeVoter()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Election","l":"bestCandidateId()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Quadruplet","l":"bestCandidateId()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.TimeOutReason","l":"CLIENT_REQUEST"},{"p":"it.unitn.disi.ds1.qtop","c":"Client","l":"Client(int, List, int)","u":"%3Cinit%3E(int,java.util.List,int)"},{"p":"it.unitn.disi.ds1.qtop","c":"TimeOutManager","l":"clientHandleCountDown(Utils.TimeOutReason, int, Client)","u":"clientHandleCountDown(it.unitn.disi.ds1.qtop.Utils.TimeOutReason,int,it.unitn.disi.ds1.qtop.Client)"},{"p":"it.unitn.disi.ds1.qtop","c":"Client","l":"clientId"},{"p":"it.unitn.disi.ds1.qtop","c":"Controller","l":"clientMenu()"},{"p":"it.unitn.disi.ds1.qtop","c":"SimulationCallback","l":"clientMenu()"},{"p":"it.unitn.disi.ds1.qtop","c":"UserInterface","l":"clientMenu()"},{"p":"it.unitn.disi.ds1.qtop","c":"Controller","l":"Controller(Simulation, UserInterface)","u":"%3Cinit%3E(it.unitn.disi.ds1.qtop.Simulation,it.unitn.disi.ds1.qtop.UserInterface)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CrashType","l":"COORDINATOR_AFTER_RW_REQUEST"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CrashType","l":"COORDINATOR_BEFORE_RW_REQUEST"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CrashType","l":"COORDINATOR_NO_QUORUM"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CrashType","l":"COORDINATOR_ON_COMMUNICATION"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CrashType","l":"COORDINATOR_QUORUM"},{"p":"it.unitn.disi.ds1.qtop","c":"Node","l":"coordinatorBehaviour()"},{"p":"it.unitn.disi.ds1.qtop","c":"Node","l":"coordinatorOnStartMessage(Utils.StartMessage)","u":"coordinatorOnStartMessage(it.unitn.disi.ds1.qtop.Utils.StartMessage)"},{"p":"it.unitn.disi.ds1.qtop","c":"Node","l":"coordinatorOnVoteResponse(Utils.VoteResponse)","u":"coordinatorOnVoteResponse(it.unitn.disi.ds1.qtop.Utils.VoteResponse)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CountDown","l":"CountDown(Utils.TimeOutReason, Utils.EpochPair)","u":"%3Cinit%3E(it.unitn.disi.ds1.qtop.Utils.TimeOutReason,it.unitn.disi.ds1.qtop.Utils.EpochPair)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.TimeOutReason","l":"CRASH_RESPONSE"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CrashACK","l":"CrashACK()","u":"%3Cinit%3E()"},{"p":"it.unitn.disi.ds1.qtop","c":"Controller","l":"crashNode(int)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CrashRequest","l":"CrashRequest(Utils.CrashType)","u":"%3Cinit%3E(it.unitn.disi.ds1.qtop.Utils.CrashType)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CrashRequest","l":"crashType()"},{"p":"it.unitn.disi.ds1.qtop","c":"Client","l":"createReceive()"},{"p":"it.unitn.disi.ds1.qtop","c":"Node","l":"createReceive()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.LogLevel","l":"DEBUG"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.DecisionResponse","l":"decision()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.DecisionResponse","l":"DecisionResponse(Utils.Decision, Utils.EpochPair)","u":"%3Cinit%3E(it.unitn.disi.ds1.qtop.Utils.Decision,it.unitn.disi.ds1.qtop.Utils.EpochPair)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Quadruplet","l":"destinationId()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.EpochPair","l":"e()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.TimeOutReason","l":"ELECTION"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Election","l":"Election(int, int, int)","u":"%3Cinit%3E(int,int,int)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.ElectionACK","l":"ElectionACK()","u":"%3Cinit%3E()"},{"p":"it.unitn.disi.ds1.qtop","c":"TimeOutManager","l":"endElectionState()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CountDown","l":"epoch()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.DecisionResponse","l":"epoch()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.TimeOut","l":"epoch()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.VoteRequest","l":"epoch()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.VoteResponse","l":"epoch()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.EpochPair","l":"EpochPair(int, int)","u":"%3Cinit%3E(int,int)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CountDown","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CrashACK","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CrashRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.DecisionResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Election","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.ElectionACK","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.EpochPair","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.HeartBeat","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.MakeRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Quadruplet","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.ReadRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.ReadValue","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.StartMessage","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Synchronisation","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.TimeOut","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.VotePair","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.VoteRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.VoteResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.WriteRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.WriteValue","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.LogLevel","l":"ERROR"},{"p":"it.unitn.disi.ds1.qtop","c":"Simulation","l":"exit()"},{"p":"it.unitn.disi.ds1.qtop","c":"Controller","l":"exitSimulation()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.VotePair","l":"finalDecision()"},{"p":"it.unitn.disi.ds1.qtop","c":"Logger","l":"getInstance()"},{"p":"it.unitn.disi.ds1.qtop","c":"PairsHistory","l":"getLatest()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.StartMessage","l":"group()"},{"p":"it.unitn.disi.ds1.qtop","c":"TimeOutManager","l":"handleCountDown(Utils.TimeOutReason, int, Node)","u":"handleCountDown(it.unitn.disi.ds1.qtop.Utils.TimeOutReason,int,it.unitn.disi.ds1.qtop.Node)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CountDown","l":"hashCode()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CrashACK","l":"hashCode()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CrashRequest","l":"hashCode()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.DecisionResponse","l":"hashCode()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Election","l":"hashCode()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.ElectionACK","l":"hashCode()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.EpochPair","l":"hashCode()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.HeartBeat","l":"hashCode()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.MakeRequest","l":"hashCode()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Quadruplet","l":"hashCode()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.ReadRequest","l":"hashCode()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.ReadValue","l":"hashCode()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.StartMessage","l":"hashCode()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Synchronisation","l":"hashCode()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.TimeOut","l":"hashCode()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.VotePair","l":"hashCode()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.VoteRequest","l":"hashCode()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.VoteResponse","l":"hashCode()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.WriteRequest","l":"hashCode()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.WriteValue","l":"hashCode()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.TimeOutReason","l":"HEARTBEAT"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.HeartBeat","l":"HeartBeat()","u":"%3Cinit%3E()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Election","l":"highestEpoch()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Quadruplet","l":"highestEpoch()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Election","l":"highestIteration()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Quadruplet","l":"highestIteration()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Synchronisation","l":"history()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.EpochPair","l":"i()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.LogLevel","l":"INFO"},{"p":"it.unitn.disi.ds1.qtop","c":"VotersMap","l":"insert(int, int, ActorRef, Utils.Vote)","u":"insert(int,int,akka.actor.ActorRef,it.unitn.disi.ds1.qtop.Utils.Vote)"},{"p":"it.unitn.disi.ds1.qtop","c":"PairsHistory","l":"insert(int, int, int)","u":"insert(int,int,int)"},{"p":"it.unitn.disi.ds1.qtop","c":"Logger","l":"log(Utils.LogLevel, String)","u":"log(it.unitn.disi.ds1.qtop.Utils.LogLevel,java.lang.String)"},{"p":"it.unitn.disi.ds1.qtop","c":"QTop","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.MakeRequest","l":"MakeRequest()","u":"%3Cinit%3E()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Synchronisation","l":"newEpochPair()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.VoteRequest","l":"newValue()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.WriteRequest","l":"newValue()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Vote","l":"NO"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CrashType","l":"NO_CRASH"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CrashType","l":"NODE_AFTER_VOTE_CAST"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CrashType","l":"NODE_AFTER_VOTE_REQUEST"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CrashType","l":"NODE_AFTER_WRITE_REQUEST"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CrashType","l":"NODE_BEFORE_WRITE_REQUEST"},{"p":"it.unitn.disi.ds1.qtop","c":"Node","l":"Node(ActorRef, int, int, int, int, int)","u":"%3Cinit%3E(akka.actor.ActorRef,int,int,int,int,int)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.ReadRequest","l":"nRequest()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.ReadValue","l":"nRequest()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.WriteRequest","l":"nRequest()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.WriteValue","l":"nRequest()"},{"p":"it.unitn.disi.ds1.qtop","c":"Client","l":"onStartMessage(Utils.StartMessage)","u":"onStartMessage(it.unitn.disi.ds1.qtop.Utils.StartMessage)"},{"p":"it.unitn.disi.ds1.qtop","c":"PairsHistory","l":"PairsHistory()","u":"%3Cinit%3E()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Decision","l":"PENDING"},{"p":"it.unitn.disi.ds1.qtop","c":"Node","l":"props(ActorRef, int, int, int, int, int)","u":"props(akka.actor.ActorRef,int,int,int,int,int)"},{"p":"it.unitn.disi.ds1.qtop","c":"Client","l":"props(int, List, int)","u":"props(int,java.util.List,int)"},{"p":"it.unitn.disi.ds1.qtop","c":"QTop","l":"QTop()","u":"%3Cinit%3E()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Quadruplet","l":"Quadruplet(int, int, int, int)","u":"%3Cinit%3E(int,int,int,int)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.ReadRequest","l":"ReadRequest(int)","u":"%3Cinit%3E(int)"},{"p":"it.unitn.disi.ds1.qtop","c":"PairsHistory","l":"readValidVariable()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.ReadValue","l":"ReadValue(int, int)","u":"%3Cinit%3E(int,int)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CountDown","l":"reason()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.TimeOut","l":"reason()"},{"p":"it.unitn.disi.ds1.qtop","c":"TimeOutManager","l":"resetCountDown(Utils.TimeOutReason, int)","u":"resetCountDown(it.unitn.disi.ds1.qtop.Utils.TimeOutReason,int)"},{"p":"it.unitn.disi.ds1.qtop","c":"UserInterface","l":"setController(Controller)","u":"setController(it.unitn.disi.ds1.qtop.Controller)"},{"p":"it.unitn.disi.ds1.qtop","c":"VotersMap","l":"setDecision(Utils.Decision, int, int)","u":"setDecision(it.unitn.disi.ds1.qtop.Utils.Decision,int,int)"},{"p":"it.unitn.disi.ds1.qtop","c":"Logger","l":"setLogLevel(Utils.LogLevel)","u":"setLogLevel(it.unitn.disi.ds1.qtop.Utils.LogLevel)"},{"p":"it.unitn.disi.ds1.qtop","c":"PairsHistory","l":"setState(int, int, Utils.Decision)","u":"setState(int,int,it.unitn.disi.ds1.qtop.Utils.Decision)"},{"p":"it.unitn.disi.ds1.qtop","c":"Simulation","l":"Simulation()","u":"%3Cinit%3E()"},{"p":"it.unitn.disi.ds1.qtop","c":"SimulationCallback","l":"start()"},{"p":"it.unitn.disi.ds1.qtop","c":"UserInterface","l":"start()"},{"p":"it.unitn.disi.ds1.qtop","c":"Simulation","l":"start(int, int, int, int, int)","u":"start(int,int,int,int,int)"},{"p":"it.unitn.disi.ds1.qtop","c":"TimeOutManager","l":"startCountDown(Utils.TimeOutReason, Cancellable, int)","u":"startCountDown(it.unitn.disi.ds1.qtop.Utils.TimeOutReason,akka.actor.Cancellable,int)"},{"p":"it.unitn.disi.ds1.qtop","c":"TimeOutManager","l":"startElectionState()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.StartMessage","l":"StartMessage(List)","u":"%3Cinit%3E(java.util.List)"},{"p":"it.unitn.disi.ds1.qtop","c":"Controller","l":"startSimulation(int, int, int, int, int)","u":"startSimulation(int,int,int,int,int)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Synchronisation","l":"Synchronisation(PairsHistory, Utils.EpochPair)","u":"%3Cinit%3E(it.unitn.disi.ds1.qtop.PairsHistory,it.unitn.disi.ds1.qtop.Utils.EpochPair)"},{"p":"it.unitn.disi.ds1.qtop","c":"Client","l":"tell(ActorRef, Object, ActorRef)","u":"tell(akka.actor.ActorRef,java.lang.Object,akka.actor.ActorRef)"},{"p":"it.unitn.disi.ds1.qtop","c":"Node","l":"tell(ActorRef, Object, ActorRef)","u":"tell(akka.actor.ActorRef,java.lang.Object,akka.actor.ActorRef)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.TimeOut","l":"TimeOut(Utils.TimeOutReason, Utils.EpochPair)","u":"%3Cinit%3E(it.unitn.disi.ds1.qtop.Utils.TimeOutReason,it.unitn.disi.ds1.qtop.Utils.EpochPair)"},{"p":"it.unitn.disi.ds1.qtop","c":"TimeOutManager","l":"TimeOutManager(int, int, int, int, int, int)","u":"%3Cinit%3E(int,int,int,int,int,int)"},{"p":"it.unitn.disi.ds1.qtop","c":"PairsHistory","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"TimeOutManager","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CountDown","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CrashACK","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CrashRequest","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.DecisionResponse","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Election","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.ElectionACK","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.EpochPair","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.HeartBeat","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.MakeRequest","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Quadruplet","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.ReadRequest","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.ReadValue","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.StartMessage","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Synchronisation","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.TimeOut","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.VotePair","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.VoteRequest","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.VoteResponse","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.WriteRequest","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.WriteValue","l":"toString()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.LogLevel","l":"TRACE"},{"p":"it.unitn.disi.ds1.qtop","c":"UserInterface","l":"UserInterface(Controller)","u":"%3Cinit%3E(it.unitn.disi.ds1.qtop.Controller)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils","l":"Utils()","u":"%3Cinit%3E()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.ReadValue","l":"value()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.WriteValue","l":"value()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CrashType","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Decision","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.LogLevel","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.TimeOutReason","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Vote","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.CrashType","l":"values()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Decision","l":"values()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.LogLevel","l":"values()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.TimeOutReason","l":"values()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Vote","l":"values()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.TimeOutReason","l":"VOTE"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.VoteResponse","l":"vote()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.VotePair","l":"VotePair(HashMap, Utils.Decision)","u":"%3Cinit%3E(java.util.HashMap,it.unitn.disi.ds1.qtop.Utils.Decision)"},{"p":"it.unitn.disi.ds1.qtop","c":"Node","l":"voterBehaviour()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.VoteRequest","l":"VoteRequest(int, Utils.EpochPair)","u":"%3Cinit%3E(int,it.unitn.disi.ds1.qtop.Utils.EpochPair)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.VoteResponse","l":"VoteResponse(Utils.Vote, Utils.EpochPair)","u":"%3Cinit%3E(it.unitn.disi.ds1.qtop.Utils.Vote,it.unitn.disi.ds1.qtop.Utils.EpochPair)"},{"p":"it.unitn.disi.ds1.qtop","c":"VotersMap","l":"VotersMap()","u":"%3Cinit%3E()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.VotePair","l":"votes()"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.LogLevel","l":"WARN"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.TimeOutReason","l":"WRITE"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Decision","l":"WRITEOK"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.WriteRequest","l":"WriteRequest(int, int)","u":"%3Cinit%3E(int,int)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.WriteValue","l":"WriteValue(int, int)","u":"%3Cinit%3E(int,int)"},{"p":"it.unitn.disi.ds1.qtop","c":"Utils.Vote","l":"YES"}];updateSearchResults();
\ No newline at end of file
diff --git a/javadoc/overview-tree.html b/javadoc/overview-tree.html
index c5e93bf..e76175f 100644
--- a/javadoc/overview-tree.html
+++ b/javadoc/overview-tree.html
@@ -146,7 +146,6 @@ Record Class Hierarchy
it.unitn.disi.ds1.qtop.Utils.VoteRequest (implements java.io.Serializable )
it.unitn.disi.ds1.qtop.Utils.VoteResponse (implements java.io.Serializable )
it.unitn.disi.ds1.qtop.Utils.WriteRequest (implements java.io.Serializable )
-it.unitn.disi.ds1.qtop.Utils.WriteResponse (implements java.io.Serializable )
it.unitn.disi.ds1.qtop.Utils.WriteValue (implements java.io.Serializable )
diff --git a/javadoc/serialized-form.html b/javadoc/serialized-form.html
index 3e5d8ca..3f2bc52 100644
--- a/javadoc/serialized-form.html
+++ b/javadoc/serialized-form.html
@@ -94,12 +94,12 @@ Serialized Fields
epoch
Utils.EpochPair epoch
-The field for the epoch
record component.
+The field for the
epoch
record component.
reason
Utils.TimeOutReason reason
-The field for the reason
record component.
+The field for the
reason
record component.
@@ -145,12 +145,12 @@ Serialized Fields
decision
Utils.Decision decision
-The field for the decision
record component.
+The field for the
decision
record component.
epoch
Utils.EpochPair epoch
-The field for the epoch
record component.
+The field for the
epoch
record component.
@@ -170,17 +170,17 @@ Serialized Fields
bestCandidateId
int bestCandidateId
-The field for the bestCandidateId
record component.
+
highestEpoch
int highestEpoch
-The field for the highestEpoch
record component.
+
highestIteration
int highestIteration
-The field for the highestIteration
record component.
+
@@ -206,12 +206,12 @@ Serialized Fields
e
int e
-The field for the e
record component.
+The field for the
e
record component.
i
int i
-The field for the i
record component.
+The field for the
i
record component.
@@ -243,7 +243,7 @@ Serialized Fields
nRequest
int nRequest
-The field for the nRequest
record component.
+The field for the
nRequest
record component.
@@ -263,12 +263,12 @@ Serialized Fields
nRequest
int nRequest
-The field for the nRequest
record component.
+The field for the
nRequest
record component.
value
int value
-The field for the value
record component.
+The field for the
value
record component.
@@ -308,12 +308,12 @@ Serialized Fields
history
PairsHistory history
-The field for the history
record component.
+The field for the
history
record component.
newEpochPair
Utils.EpochPair newEpochPair
-The field for the newEpochPair
record component.
+
@@ -333,12 +333,12 @@ Serialized Fields
epoch
Utils.EpochPair epoch
-The field for the epoch
record component.
+The field for the
epoch
record component.
reason
Utils.TimeOutReason reason
-The field for the reason
record component.
+The field for the
reason
record component.
@@ -408,32 +408,12 @@ Serialized Fields
newValue
int newValue
-The field for the newValue
record component.
+The field for the
newValue
record component.
nRequest
int nRequest
-The field for the nRequest
record component.
-
-
-
-
-
-
-
-
-
diff --git a/javadoc/type-search-index.js b/javadoc/type-search-index.js
index 152f364..de743d4 100644
--- a/javadoc/type-search-index.js
+++ b/javadoc/type-search-index.js
@@ -1 +1 @@
-typeSearchIndex = [{"l":"All Classes and Interfaces","u":"allclasses-index.html"},{"p":"it.unitn.disi.ds1.qtop","l":"Client"},{"p":"it.unitn.disi.ds1.qtop","l":"Controller"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.CountDown"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.CrashACK"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.CrashRequest"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.CrashType"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.Decision"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.DecisionResponse"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.Election"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.ElectionACK"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.EpochPair"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.HeartBeat"},{"p":"it.unitn.disi.ds1.qtop","l":"Logger"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.LogLevel"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.MakeRequest"},{"p":"it.unitn.disi.ds1.qtop","l":"Node"},{"p":"it.unitn.disi.ds1.qtop","l":"PairsHistory"},{"p":"it.unitn.disi.ds1.qtop","l":"QTop"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.Quadruplet"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.ReadRequest"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.ReadValue"},{"p":"it.unitn.disi.ds1.qtop","l":"Simulation"},{"p":"it.unitn.disi.ds1.qtop","l":"SimulationCallback"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.StartMessage"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.Synchronisation"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.TimeOut"},{"p":"it.unitn.disi.ds1.qtop","l":"TimeOutManager"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.TimeOutReason"},{"p":"it.unitn.disi.ds1.qtop","l":"UserInterface"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.Vote"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.VotePair"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.VoteRequest"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.VoteResponse"},{"p":"it.unitn.disi.ds1.qtop","l":"VotersMap"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.WriteRequest"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.WriteResponse"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.WriteValue"}];updateSearchResults();
\ No newline at end of file
+typeSearchIndex = [{"l":"All Classes and Interfaces","u":"allclasses-index.html"},{"p":"it.unitn.disi.ds1.qtop","l":"Client"},{"p":"it.unitn.disi.ds1.qtop","l":"Controller"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.CountDown"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.CrashACK"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.CrashRequest"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.CrashType"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.Decision"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.DecisionResponse"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.Election"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.ElectionACK"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.EpochPair"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.HeartBeat"},{"p":"it.unitn.disi.ds1.qtop","l":"Logger"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.LogLevel"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.MakeRequest"},{"p":"it.unitn.disi.ds1.qtop","l":"Node"},{"p":"it.unitn.disi.ds1.qtop","l":"PairsHistory"},{"p":"it.unitn.disi.ds1.qtop","l":"QTop"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.Quadruplet"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.ReadRequest"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.ReadValue"},{"p":"it.unitn.disi.ds1.qtop","l":"Simulation"},{"p":"it.unitn.disi.ds1.qtop","l":"SimulationCallback"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.StartMessage"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.Synchronisation"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.TimeOut"},{"p":"it.unitn.disi.ds1.qtop","l":"TimeOutManager"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.TimeOutReason"},{"p":"it.unitn.disi.ds1.qtop","l":"UserInterface"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.Vote"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.VotePair"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.VoteRequest"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.VoteResponse"},{"p":"it.unitn.disi.ds1.qtop","l":"VotersMap"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.WriteRequest"},{"p":"it.unitn.disi.ds1.qtop","l":"Utils.WriteValue"}];updateSearchResults();
\ No newline at end of file