From 6701facb0020cbbe1c8912a56544f1a0fba45a67 Mon Sep 17 00:00:00 2001
From: arshiam2 <arshiam2@illinois.edu>
Date: Sun, 7 Oct 2018 23:25:41 -0500
Subject: [PATCH] udpated leaving

---
 README.md                 |  2 ++
 cli/src/commands/leave.js | 24 ++++++++++++++++++++++--
 introducer/index.js       | 13 -------------
 machine/index.js          |  9 +++++++++
 4 files changed, 33 insertions(+), 15 deletions(-)

diff --git a/README.md b/README.md
index a4175f7..b91f6dc 100644
--- a/README.md
+++ b/README.md
@@ -41,6 +41,8 @@ npm run start
 ```
 
 
+
+
 ## Introducer
 
 The introducer has a list of all VMs up, and gets messages when anotehr machine joins and leaves. Based on that, it updates all the nodes membership lists. 
diff --git a/cli/src/commands/leave.js b/cli/src/commands/leave.js
index dd2db85..d1f9eed 100644
--- a/cli/src/commands/leave.js
+++ b/cli/src/commands/leave.js
@@ -18,6 +18,19 @@ const process = require("process");
 
 const socket = dgram.createSocket({ type: "udp4", reuseAddr: true });
 
+const machineToIps = {
+  "0": "172.16.138.158",
+  "1": "172.22.156.15",
+  "2": "172.22.158.15",
+  "3": "172.22.154.16",
+  "4": "172.22.156.16",
+  "5": "172.22.158.16",
+  "6": "172.22.154.17",
+  "8": "172.22.158.17",
+  "9": "172.22.154.18",
+  "10": "172.22.156.18"
+};
+
 socket.bind(PORT);
 
 function sendMessage(number) {
@@ -25,9 +38,16 @@ function sendMessage(number) {
   socket.send(message, 0, message.length, PORT, HOST, function() {});
 }
 
+
+function sendMessageToNode(number) {
+    const message = Buffer.from(`leave ${number}`);
+    socket.send(message, 0, message.length, PORT, machineToIps[number], function() {});
+}
+
 module.exports.handler = handleErrors(async (argv: {}) => {
-  console.log("Sending message to introducer")
-  let number = argv.number
+  console.log("Sending message to introducer");
+  let number = argv.number;
   await sendMessage(number);
+  sendMessageToNode(number)
   process.exit(0);
 });
diff --git a/introducer/index.js b/introducer/index.js
index 751d847..eac95c8 100644
--- a/introducer/index.js
+++ b/introducer/index.js
@@ -57,19 +57,6 @@ socket.on("listening", function() {
   );
 });
 
-function syn(machineNumberBeingChecked) {
-  console.log(machineNumberBeingChecked);
-  console.log("my machien number" + machineNumber);
-  const message = Buffer.from(`check ${machineToIps[machineNumber]}`);
-  socket.send(
-    message,
-    0,
-    message.length,
-    PORT,
-    machineToIps[machineNumberBeingChecked],
-    function() {}
-  );
-}
 
 function initialize(machineNumber, connectedTo) {
   const message = Buffer.from(`initialize [${connectedTo}]`);
diff --git a/machine/index.js b/machine/index.js
index b8f69c0..20c8da2 100644
--- a/machine/index.js
+++ b/machine/index.js
@@ -163,6 +163,15 @@ socket.on("message", function(message, rinfo) {
   if (text[0] === "ack") {
     updateTimeStamp(text[1])
     updateStatuses()
+  }
+
+  if (text[0] === "leave") {
+    console.log(text[1])
+    const deletedConnection = Object.keys(connections).filter(c => c.toString()[0] === text[1]);
+    console.log(deletedConnection)
+
+    // delete myArray["lastname"];
     
   }
+
 });
-- 
GitLab