Skip to content

Commit

Permalink
Merge pull request #13 from Zlash92/gren
Browse files Browse the repository at this point in the history
Final shit
  • Loading branch information
mortenflood committed May 3, 2016
2 parents fd53abc + 669b317 commit aa28aac
Show file tree
Hide file tree
Showing 5 changed files with 44 additions and 22 deletions.
26 changes: 18 additions & 8 deletions client.py
Expand Up @@ -4,9 +4,10 @@
import pickle
import sys

server_addresses = ['128.111.84.159', # Server0
'128.111.84.210', # Server1
'128.111.84.221'] # Server2
server_addresses = ['128.111.84.159', # Server0
'128.111.84.210', # Server1
'128.111.84.221'] # Server2


class Client:

Expand Down Expand Up @@ -40,16 +41,25 @@ def connect_to_server(self, host, port):

elif msg == 'lookup':
self.s.send(msg)
recv = self.s.recv(1024)
blog = pickle.loads(recv)
blog.show_posts()
try:
recv = self.s.recv(4096)
blog = pickle.loads(recv)
blog.show_posts()
except ValueError, e:
print("Error : Value Error : ", e)
except EOFError, e:
print("Error : EOFError : ", e)
except e:
print("Something unexpected happened, try again: ", e)

else:
self.s.send(msg)
self.s.close()


server_id = int(sys.argv[1])
# c = Client(host='128.111.43.37', port=12353)
c = Client(host=socket.gethostname(), port=18852)
# c = Client(host=server_addresses[int(server_id)], port=80)
#c = Client(host=socket.gethostname(), port=18852)
pport = 80
c = Client(host=server_addresses[server_id], port=pport)

14 changes: 10 additions & 4 deletions replicated.py
Expand Up @@ -14,10 +14,16 @@ def show_posts(self):

# Return True if not in dictionary
def is_not_in(self, entry):
if entry in self.dict.values():
return False
else:
return True
# if entry in self.dict.values():
# return False
# else:
# return True
boolean = True
for dictEntry in self.dict.values():
if entry.time_stamp == dictEntry.time_stamp and entry.parent_server_id == dictEntry.parent_server_id:
boolean = False

return boolean


class ReplicatedLog:
Expand Down
Binary file added replicated.pyc
Binary file not shown.
26 changes: 16 additions & 10 deletions server.py
Expand Up @@ -12,7 +12,7 @@
'128.111.84.221'] # Server2

class Server:
def __init__(self, server_id=sys.argv[1], port=80):
def __init__(self, server_id, port=80):
self.socket = socket.socket()
self.host = socket.gethostname()
self.socket.bind((self.host, port))
Expand Down Expand Up @@ -59,27 +59,32 @@ def post(self, msg, author):

def lookup(self, c):
package = pickle.dumps(self.data)
self.data.show_posts()
c.send(package)

def sync(self, sync_server):
address = (server_addresses[sync_server], 80)
sock = socket.socket()
sock.connect(address)
sock.recv(1024)
sock.recv(4096)

sock.send("update_contents_on_my_server")
print("Waiting for receive")
recv = sock.recv(1024)
recv = sock.recv(4096)
(other_log, other_time_table) = pickle.loads(recv)

sock.close()

for e in other_log:
if self.data.is_not_in(e):
not_in = self.data.is_not_in(e)
if not_in:
self.data.add_post(e)
self.log.add_entry(e)

# for e in other_log:
# for k in self.data.dict.values():
# if (e.get_time_stamp() != k.get_time_stamp()) and (e.get_parent_server() != k.get_parent_server()):
# self.data.add_post(e)
# self.log.add_entry(e)

self.time_table.sync_tables(other_time_table)
self.garbage_collect_log()

Expand Down Expand Up @@ -128,7 +133,7 @@ def __init__(self, client, address, parent_server):

def run(self):
while True:
recv = self.client.recv(1024)
recv = self.client.recv(4096)
inp = recv.split(' ', 1)
if recv == 'close':
print("Closing client connection")
Expand Down Expand Up @@ -165,9 +170,10 @@ def column_min_vals(table):
# finally:
# server.close_connection()


# server = Server(port=80)
server = Server(port=18852)
id = int(sys.argv[1])
pport = 80
server = Server(server_id=id, port=pport)
#server = Server(port=18852)
# signal.signal(signal.SIGTSTP, handler)
#server = Server(port=18867)

Binary file modified time_table.pyc
Binary file not shown.

0 comments on commit aa28aac

Please sign in to comment.