X-Git-Url: http://xvm.mit.edu/gitweb/invirt/third/libt4.git/blobdiff_plain/a4175b2e216a20b86cc872dea8a08005c60617a5..ab9eee5d7f1fbe7a3fe6229d4a78136efb14371b:/lock_smain.cc diff --git a/lock_smain.cc b/lock_smain.cc index c256cbe..52e6c4f 100644 --- a/lock_smain.cc +++ b/lock_smain.cc @@ -1,43 +1,22 @@ -#include "rpc/rpc.h" -#include -#include -#include -#include -#include "lock_server_cache_rsm.h" -#include "paxos.h" -#include "rsm.h" +#include "include/lock_server.h" -// Main loop of lock_server - -char tprintf_thread_prefix = 's'; - -int -main(int argc, char *argv[]) -{ - int count = 0; +using namespace std::chrono; +int main(int argc, char *argv[]) { + global = new t4_state('s'); setvbuf(stdout, NULL, _IONBF, 0); setvbuf(stderr, NULL, _IONBF, 0); - srandom(getpid()); - if(argc != 3){ - fprintf(stderr, "Usage: %s [master:]port [me:]port\n", argv[0]); + LOG_NONMEMBER << "Usage: " << argv[0] << " [master:]port [me:]port"; exit(1); } - char *count_env = getenv("RPC_COUNT"); - if(count_env != NULL){ - count = atoi(count_env); - } - rsm rsm(argv[1], argv[2]); - lock_server_cache_rsm ls(&rsm); - rsm.set_state_transfer((rsm_state_transfer *)&ls); - rsm.reg(lock_protocol::acquire, &ls, &lock_server_cache_rsm::acquire); - rsm.reg(lock_protocol::release, &ls, &lock_server_cache_rsm::release); - rsm.reg(lock_protocol::stat, &ls, &lock_server_cache_rsm::stat); + lock_server ls(rsm); + + rsm.start(); while(1) - sleep(1000); + std::this_thread::sleep_for(1000ms); }