X-Git-Url: http://xvm.mit.edu/gitweb/invirt/third/libt4.git/blobdiff_plain/5fd8cc8409d0efadc07dfe8d6774ad9ff477663d..130f2d53438eb6193accb445aca52fa8e2fe4158:/lock_smain.cc diff --git a/lock_smain.cc b/lock_smain.cc index fba7eae..69cc433 100644 --- a/lock_smain.cc +++ b/lock_smain.cc @@ -1,13 +1,12 @@ -#include "rpc.h" +#include "rpc/rpc.h" #include #include #include +#include #include "lock_server_cache_rsm.h" #include "paxos.h" #include "rsm.h" -#include "jsl_log.h" - // Main loop of lock_server char tprintf_thread_prefix = 's'; @@ -15,57 +14,23 @@ char tprintf_thread_prefix = 's'; int main(int argc, char *argv[]) { - int count = 0; - - 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]); - exit(1); - } - - char *count_env = getenv("RPC_COUNT"); - if(count_env != NULL){ - count = atoi(count_env); - } + setvbuf(stdout, NULL, _IONBF, 0); + setvbuf(stderr, NULL, _IONBF, 0); - //jsl_set_debug(2); - // Comment out the next line to switch between the ordinary lock - // server and the RSM. In Lab 6, we disable the lock server and - // implement Paxos. In Lab 7, we will make the lock server use your - // RSM layer. -#define RSM -#ifdef RSM -// You must comment out the next line once you are done with Step One. -//#define STEP_ONE -#ifdef STEP_ONE - rpcs server(atoi(argv[1])); - lock_server_cache_rsm ls; - server.reg(lock_protocol::acquire, &ls, &lock_server_cache_rsm::acquire); - server.reg(lock_protocol::release, &ls, &lock_server_cache_rsm::release); - server.reg(lock_protocol::stat, &ls, &lock_server_cache_rsm::stat); -#else - 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); -#endif // STEP_ONE -#endif // RSM + srandom(getpid()); -#ifndef RSM - lock_server_cache ls; - rpcs server(atoi(argv[1]), count); - server.reg(lock_protocol::stat, &ls, &lock_server_cache::stat); - server.reg(lock_protocol::acquire, &ls, &lock_server_cache::acquire); - server.reg(lock_protocol::release, &ls, &lock_server_cache::release); -#endif + if(argc != 3){ + fprintf(stderr, "Usage: %s [master:]port [me:]port\n", argv[0]); + exit(1); + } + 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); - while(1) - sleep(1000); + while(1) + sleep(1000); }