From 2238a2610472bb088f671c8ea423129a7941bfba Mon Sep 17 00:00:00 2001
From: Mirari <zf4@illinois.edu>
Date: Fri, 30 Nov 2018 19:45:18 -0600
Subject: [PATCH] Startup logging

---
 src/crane/crane_client.go |  3 ++-
 src/crane/crane_master.go |  1 +
 src/crane/worker.go       |  2 ++
 src/main.go               | 16 +++++++++++++++-
 4 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/src/crane/crane_client.go b/src/crane/crane_client.go
index 803608a..265e120 100644
--- a/src/crane/crane_client.go
+++ b/src/crane/crane_client.go
@@ -68,12 +68,13 @@ func ConnectCraneMaster() {
 	port := strconv.Itoa(shared.CraneServerCilentPort)
 	masterConn = connectToServer(masterAddr, port)
 	masterBackupConn = connectToServer(masterBackupAddr, port)
+	fmt.Println("Crane client started.")
 }
 
 func connectToServer(addr string, port string) net.Conn {
 	conn, err := net.Dial("tcp", addr+":"+"port")
 	if err != nil {
-		panic(err)
+		fmt.Println(err)
 	}
 	return conn
 }
diff --git a/src/crane/crane_master.go b/src/crane/crane_master.go
index a9698ae..426e9e5 100644
--- a/src/crane/crane_master.go
+++ b/src/crane/crane_master.go
@@ -52,6 +52,7 @@ func StartMaster() {
 	go CheckMasterStatus()
 	go ListenForClient()
 	go ListenForDataCollection()
+	fmt.Println("Crane master started.")
 }
 
 // InitializeCraneMaster - initialize the master
diff --git a/src/crane/worker.go b/src/crane/worker.go
index 51702a1..b570b76 100644
--- a/src/crane/worker.go
+++ b/src/crane/worker.go
@@ -47,6 +47,8 @@ func StartWorking() {
 	go handleMasterRequest(backupListen)
 	// accept worker's tuples
 	go handleWorkerRequest(workerListen)
+
+	fmt.Println("Crane worker started.")
 }
 
 func handleMasterRequest(currListen net.Listener) {
diff --git a/src/main.go b/src/main.go
index a90b844..b10e2a9 100644
--- a/src/main.go
+++ b/src/main.go
@@ -15,13 +15,14 @@ import (
 )
 
 const CMD_PROMPT = "> "
+var craneType := 0
 
 func main() {
 	println("Starting server")
 	log.SetFlags(log.Lshortfile)
 
 	failure.Initialize()
-	// TODO: read cmd input to determine if this is a crane master/client
+
 	go func() {
 		println("Type 'help' for list of commands")
 		fmt.Printf("[Server %d]%s", shared.GetOwnServerNumber(), CMD_PROMPT)
@@ -38,6 +39,18 @@ func main() {
 	file_sys.Initialize()
 	grep_server.Initialize()
 
+	// Setup as server, client, or worker
+	if os.Args[1] == "crane-client" {
+		craneType = 1
+		go crane.ConnectCraneMaster()
+	} else if shared.GetOwnServerNumber() == 2 || shared.GetOwnServerNumber() == 3 {
+		craneType = 2
+		go crane.StartMaster()
+	} else {
+		craneType = 3
+		go crane.StartWorking()
+	}
+
 	println("Finished starting server")
 	// Keep the program running so it doesn't close the port
 	for {
@@ -85,6 +98,7 @@ func HandleServerCommand(cmd string) {
 	case "bolt":
 		{
 			// Usage: bolt [pluginName] [boltName] [ancestorName1 ancestorName2 ...
+
 			crane.ProcessCraneTopology(com[1:])
 		}
 	case "submit":
-- 
GitLab