sholsapp / gallocy

A distributed shared memory infrastructure.
27 stars 9 forks source link

Implement consensus module #26

Open sholsapp opened 8 years ago

sholsapp commented 8 years ago

The consensus module is the client/server that is responsible to making state changes to the global address space.

Three major tasks need to be done here:

  1. Implement request_vote
  2. Implement append_entry (heartbeat)
  3. Implement log
  4. Implement append_entry (command)

Once done, we can progress onto writing relevant commands for the system (e.g., allocate memory, free memory, start thread, join thread, get owner, set owner).

sholsapp commented 8 years ago

So far we have (1) and (2) done. Working on (3) and (4) at the moment.

sholsapp commented 8 years ago

Next up we need the following methods implemented in the GallocyState object.

Additionally, all of the state logic presently in consensus/server.cpp and consensus/client.cpp should be moved into consensus/state.cpp. The client and server should focus on requesting/serving/serialization/deserialization.