diff --git a/src/Client.java b/src/Client.java new file mode 100644 index 0000000000000000000000000000000000000000..e62fd9abbbb8f8e2c960b4ac4961b21cff24cb63 --- /dev/null +++ b/src/Client.java @@ -0,0 +1,12 @@ +public class Client { + + // controller port to communicate with + int cport; + // timeout in milliseconds + long timeout; + + public Client(int cport, long timeout) { + this.cport = cport; + this.timeout = timeout; + } +} \ No newline at end of file diff --git a/src/Controller.java b/src/Controller.java index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..5e258c3630c0501f1f97a0faa8becea910835ad9 100644 --- a/src/Controller.java +++ b/src/Controller.java @@ -0,0 +1,26 @@ +import java.io.*; +import java.net.*; + +public class Controller { + + // port to listen on + private int cport; + // replication factor => number of Dstores to join + private int R; + // timeout in milliseconds + private long timeout; + // how long to wait to start the next rebalance operation + private long rebalance_period; + + public Controller (int cport, int R, long timeout, long rebalance_period) { + this.cport = cport; + this.R = R; + this.timeout = timeout; + this.rebalance_period = rebalance_period; + } + + // orchestrates client requests + // maintains an index with the allocation of files to Dstores + // waits for Dstores to join the datastore (rebalance operation) + // it doesn't serve any client request until at least R Dstores have joined the system +} \ No newline at end of file diff --git a/src/Dstore.java b/src/Dstore.java index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..20bfc0c8c74297a8739622d45f4e02f2b2c928f0 100644 --- a/src/Dstore.java +++ b/src/Dstore.java @@ -0,0 +1,18 @@ +public class Dstore { + + // port to listen on + int port; + // controller's port to talk to + int cport; + // timeout in milliseconds + long timeout; + // where to store the data locally + String file_folder; + + public Dstore (int port, int cport, long timeout, String file_folder) { + this.port = port; + this.cport = cport; + this.timeout = timeout; + this. file_folder = file_folder; + } +} \ No newline at end of file