Created a base prototype for the Communication protocols to be defined.
Formalized the Causal Broadcast protocol in its own class, inheriting from the prototype for communication protocols.
Formalized the peer discovery protocol, this protocol classes handle the requests of the given protocol and the interaction with the coresponding classes. Mostly DataStore and ReplicationController.
Created this class to held instances of all the communication protocols that are taking part in the communication.
Created a class to handle all the storage related functionality. This class will store the data and replicate it when needed. Other classes can subscribe to changes in data. ApplicationController uses this functionality to update the UI.
Removing unnecessary message type, and updating the signature of the function to update cell.
Removing unnecessary message type.
Created a proper protocol class to handle the direct replication protocol.
Removing this protocol since the CausalBroadcastProtocol class implements one of the possible protocols. Other two to be committed soon.
Small changes to create just one TCP server acting on all the local interfaces, and to provide a port to bind the multicast sockets to.
Changing the pattern and making a real class.
Isolated the replication controller from the application controller. Now it purely interacts with the communication protocols and stores the data in the data store.
Removed any sort of data storage in the application controller in benefit of the data storage class. Also the application controller is almost independent of the replication controller. Much better looking :)
Adaptation to new PeerIdentity class pattern.
Isolated the function to generate random numbers in a separate file.
Adding and removing files as needed.
Adapting the background page to the new protocol pattern.
Adding the random.js file.