benedekh / WeLoveClouds

Repository for submissions on the CloudDB course.
0 stars 1 forks source link

ECSClient #77

Closed benedekh closed 7 years ago

benedekh commented 7 years ago

Command-line client for ECS, with the following commands:

command semantics
initService (int numberOfNodes, int cacheSize, String displacementStrategy) Randomly choose ` servers from the available machines and start the KVServer by issuing a SSH call to the respective machine. This call launches the server with the specified cache size and displacement strategy. You can assume that the KVServer.jar is located in the same directory as the ECS. All servers are initialized with the meta-data and remain in state stopped.
start() Starts the storage service by calling start() on all KVServer instances that participate in the service.
stop() Stops the service; all participating KVServers are stopped for processing client requests but the processes remain running.
shutDown() Stops all server instances and exits the remote processes.
addNode (int cacheSize, String displacementStrategy) Create a new KVServer with the specified cache size and displacement strategy and add it to the storage service at an arbitrary position.
removeNode() Remove a node from the storage service at an arbitrary position.
ghost commented 7 years ago

I've got stub code and a factory for all of these commands on the dev/ECS-first-pass branch. They're only stubs at the moment because I haven't figured out how to work with the communication class properly yet.