From 6502f180edbf8c900625e39693a96fd9635f6af0 Mon Sep 17 00:00:00 2001
From: Hang <hang@Hangs-MacBook-Pro.local>
Date: Tue, 26 Apr 2022 15:35:52 -0500
Subject: [PATCH] fast push

---
 sample_test/src/constants.py |  1 +
 sample_test/src/server.py    | 17 +++++++++++------
 2 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/sample_test/src/constants.py b/sample_test/src/constants.py
index 6d1bbff..bf0fce4 100644
--- a/sample_test/src/constants.py
+++ b/sample_test/src/constants.py
@@ -1,6 +1,7 @@
 SERVER_IDENTIFIER = 0
 SERVER_ADDRESS = 1
 SERVER_PORT = 2
+ACCEPTING_PEER_PORT = 3
 
 RECONNECT_TIME = 1  # 1s
 
diff --git a/sample_test/src/server.py b/sample_test/src/server.py
index 5f2882c..e37985e 100644
--- a/sample_test/src/server.py
+++ b/sample_test/src/server.py
@@ -4,7 +4,8 @@ import sys
 import time
 import traceback
 from utils import gprint, rprint, pprint
-from constants import SERVER_IDENTIFIER, SERVER_ADDRESS, SERVER_PORT, RECONNECT_TIME, MSG_LENGTH, ENCODING_FORMAT
+from constants import SERVER_IDENTIFIER, SERVER_ADDRESS, SERVER_PORT, RECONNECT_TIME, MSG_LENGTH, ENCODING_FORMAT, \
+    ACCEPTING_PEER_PORT
 import socket
 import threading
 from classDef import WriteEntry, Account
@@ -16,6 +17,7 @@ CURRENT_SERVER_ID = ''
 CURRENT_SERVER_IP = socket.gethostbyname(socket.gethostname())
 SERVERS = {}
 CURRENT_SERVER_PORT = -1
+BASE_PORT_NUMBER = 12000
 # !!! TW 要用于顺延候选的时候要进行排序,才行!!! 直接用sorted 对key 进行排序就好
 # 关于write_commited_timestamp 变成list 的改变,虽然我感觉不用改成list, 因为ta 的例子错了,但是吧改了之后全都加了sort, 效果应该差不多把
 accounts_map = dict()
@@ -410,6 +412,7 @@ def abort(self_node: SelfNode, timestamp: str):
 # 链接部分
 def parse_config(config_path: str) -> dict:
     servers = {}
+    designated_port_number = BASE_PORT_NUMBER
     with open(config_path, 'r') as file:
         for line in file:
             server_info = line.split(" ")
@@ -417,8 +420,10 @@ def parse_config(config_path: str) -> dict:
                 servers[server_info[SERVER_IDENTIFIER]] = {
                     SERVER_IDENTIFIER: server_info[SERVER_IDENTIFIER],
                     SERVER_ADDRESS: server_info[SERVER_ADDRESS],
-                    SERVER_PORT: int(server_info[SERVER_PORT].rstrip())
+                    SERVER_PORT: int(server_info[SERVER_PORT].rstrip()),
+                    ACCEPTING_PEER_PORT: designated_port_number
                 }
+            designated_port_number += 100
     return servers
 
 
@@ -454,12 +459,12 @@ def connect_with_all_servers(servers: dict, current_server_id: str, return_value
             try:
                 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
                 host_ip_address = SERVER_ID_TO_IP_MAPPING[server[SERVER_IDENTIFIER]]
-                server[SERVER_PORT] = SERVERS[CURRENT_SERVER_ID][SERVER_PORT]+1  # todo: to be deleted
-                address = (host_ip_address, server[SERVER_PORT])
+                # server[SERVER_PORT] = SERVERS[CURRENT_SERVER_ID][SERVER_PORT]+1  # todo: to be deleted
+                address = (host_ip_address, server[server_id][ACCEPTING_PEER_PORT])
                 s.connect(address)
                 connect_info[server_id] = s
                 gprint(f"[Connect] - "
-                       f"Connecting to {server[SERVER_IDENTIFIER]}: {host_ip_address}:{server[SERVER_PORT]} success!")
+                       f"Connecting to {server[SERVER_IDENTIFIER]}: {host_ip_address}:{server[server_id][ACCEPTING_PEER_PORT]} success!")
             except Exception:
                 rprint(f"[Connect] - Connection to "
                        f"{server[SERVER_IDENTIFIER]} failed. "
@@ -719,7 +724,7 @@ def accepting_clients(SELF_NODE):
 def accepting_peer_servers(SELF_NODE):
     try:
         server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-        server.bind((CURRENT_SERVER_IP, SERVERS[CURRENT_SERVER_ID][SERVER_PORT]+1))
+        server.bind((CURRENT_SERVER_IP, SERVERS[CURRENT_SERVER_ID][ACCEPTING_PEER_PORT]))
         server.listen()
         # print(f"[LISTENING] Server is listening on {ADDR}")  # DEBUG
         while True:
-- 
GitLab