From e3631d02f7fac2081f6a0beb098c24de091afb47 Mon Sep 17 00:00:00 2001
From: Naveen Kumar Sharma <naveenks@cs.washington.edu>
Date: Mon, 22 Feb 2016 21:13:40 -0800
Subject: [PATCH] Adding timeserver to Makefile, and fixing compilation issues

---
 Makefile                 |   5 +-
 timeserver/timeserver.cc | 122 +++++++++++++++++++--------------------
 timeserver/timeserver.h  |  13 +++--
 3 files changed, 69 insertions(+), 71 deletions(-)

diff --git a/Makefile b/Makefile
index 8a4e96e..7b4eda1 100644
--- a/Makefile
+++ b/Makefile
@@ -7,8 +7,8 @@ CXX = g++
 LD = g++
 EXPAND = lib/tmpl/expand
 
-#CFLAGS := -g -Wall -pthread -iquote.obj/gen -Wno-uninitialized -O2 -DNASSERT
-CFLAGS := -g -Wall -pthread -iquote.obj/gen -Wno-uninitialized 
+CFLAGS := -g -Wall -pthread -iquote.obj/gen -Wno-uninitialized -O2 -DNASSERT
+#CFLAGS := -g -Wall -pthread -iquote.obj/gen -Wno-uninitialized 
 CXXFLAGS := -g -std=c++0x
 LDFLAGS := -levent_pthreads
 ## Debian package: check
@@ -131,6 +131,7 @@ include store/strongstore/Rules.mk
 include store/weakstore/Rules.mk
 include store/benchmark/Rules.mk
 include lockserver/Rules.mk
+include timeserver/Rules.mk
 include libtapir/Rules.mk
 ##################################################################
 # General rules
diff --git a/timeserver/timeserver.cc b/timeserver/timeserver.cc
index a5d2aba..00b9717 100644
--- a/timeserver/timeserver.cc
+++ b/timeserver/timeserver.cc
@@ -28,81 +28,77 @@ TimeStampServer::ReplicaUpcall(opnum_t opnum,
                                string &str2)
 {
     Debug("Received Upcall: %lu, %s", opnum, str1.c_str());
+
     // Get a new timestamp from the TimeStampServer
     str2 = newTimeStamp();
 }
 
-static void Usage(const char *progName)
+static void
+Usage(const char *progName)
 {
-    fprintf(stderr, "usage: %s -c conf-file -i replica-index\n",
-            progName);
+    fprintf(stderr, "usage: %s -c conf-file -i replica-index\n", progName);
     exit(1);
 }
 
 int
 main(int argc, char **argv)
 {
-  int index = -1;
-  const char *configPath = NULL;
-
-  // Parse arguments
-  int opt;
-  while ((opt = getopt(argc, argv, "c:i:")) != -1) {
-    switch (opt) {
-      case 'c':
-        configPath = optarg;
-        break;
-
-      case 'i':
-        {
-          char *strtolPtr;
-          index = strtoul(optarg, &strtolPtr, 10);
-          if ((*optarg == '\0') || (*strtolPtr != '\0') || (index < 0))
-          {
-            fprintf(stderr,
-                "option -i requires a numeric arg\n");
-            Usage(argv[0]);
-          }
-          break;
+    int index = -1;
+    const char *configPath = NULL;
+    char *strtolPtr;
+
+    // Parse arguments
+    int opt;
+    while ((opt = getopt(argc, argv, "c:i:")) != -1) {
+        switch (opt) {
+        case 'c':
+            configPath = optarg;
+            break;
+
+        case 'i':
+            index = strtoul(optarg, &strtolPtr, 10);
+            if ((*optarg == '\0') || (*strtolPtr != '\0') || (index < 0)) {
+                fprintf(stderr, "option -i requires a numeric arg\n");
+                Usage(argv[0]);
+            }
+            break;
+
+        default:
+            fprintf(stderr, "Unknown argument %s\n", argv[optind]);
+            break;
         }
+    }
+
+    if (!configPath) {
+        fprintf(stderr, "option -c is required\n");
+        Usage(argv[0]);
+    }
+
+    if (index == -1) {
+        fprintf(stderr, "option -i is required\n");
+        Usage(argv[0]);
+    }
 
-      default:
-        fprintf(stderr, "Unknown argument %s\n", argv[optind]);
-        break;
+    // Load configuration
+    std::ifstream configStream(configPath);
+    if (configStream.fail()) {
+        fprintf(stderr, "unable to read configuration file: %s\n", configPath);
+        Usage(argv[0]);
     }
-  }
-
-  if (!configPath) {
-    fprintf(stderr, "option -c is required\n");
-    Usage(argv[0]);
-  }
-
-  if (index == -1) {
-    fprintf(stderr, "option -i is required\n");
-    Usage(argv[0]);
-  }
-
-  // Load configuration
-  std::ifstream configStream(configPath);
-  if (configStream.fail()) {
-    fprintf(stderr, "unable to read configuration file: %s\n",
-        configPath);
-    Usage(argv[0]);
-  }
-  specpaxos::Configuration config(configStream);
-
-  if (index >= config.n) {
-    fprintf(stderr, "replica index %d is out of bounds; "
-        "only %d replicas defined\n", index, config.n);
-    Usage(argv[0]);
-  }
-
-  UDPTransport transport(0.0, 0.0, 0);
-
-  TimeStampServer server;
-  specpaxos::vr::VRReplica replica(config, index, &transport, 1, &server);
-  
-  transport.Run();
-
-  return 0;
+    transport::Configuration config(configStream);
+
+    if (index >= config.n) {
+        fprintf(stderr, "replica index %d is out of bounds; "
+                "only %d replicas defined\n", index, config.n);
+        Usage(argv[0]);
+    }
+
+    UDPTransport transport(0.0, 0.0, 0);
+
+    TimeStampServer server;
+    replication::vr::VRReplica replica(config, index, &transport, 1, &server);
+
+    transport.Run();
+
+    return 0;
 }
diff --git a/timeserver/timeserver.h b/timeserver/timeserver.h
index a868767..10ad2a3 100644
--- a/timeserver/timeserver.h
+++ b/timeserver/timeserver.h
@@ -9,25 +9,26 @@
 #ifndef _TIME_SERVER_H_
 #define _TIME_SERVER_H_
 
-#include "paxos-lib/lib/configuration.h"
-#include "paxos-lib/common/replica.h"
-#include "paxos-lib/lib/udptransport.h"
-#include "paxos-lib/vr/replica.h"
+#include "lib/configuration.h"
+#include "replication/common/replica.h"
+#include "lib/udptransport.h"
+#include "replication/vr/replica.h"
 
 #include <string>
 
 using namespace std;
 
-class TimeStampServer : public specpaxos::AppReplica
+class TimeStampServer : public replication::AppReplica
 {
 public:
     TimeStampServer();
     ~TimeStampServer();
 
     void ReplicaUpcall(opnum_t opnum, const string &str1, string &str2);
+
 private:
     long ts;
     string newTimeStamp();
-
 };
+
 #endif /* _TIME_SERVER_H_ */
-- 
GitLab