Skip to content

Commit

Permalink
Modified peer classes to avoid nesting and attribute copying.
Browse files Browse the repository at this point in the history
  • Loading branch information
mertemba committed Jun 25, 2015
1 parent e4e16bd commit f674f3f
Show file tree
Hide file tree
Showing 7 changed files with 14 additions and 75 deletions.
13 changes: 0 additions & 13 deletions src/lossy_peer.py
Expand Up @@ -29,23 +29,10 @@ class Lossy_Peer(Peer_FNS):
def __init__(self, peer):
# {{{

#Peer_FNS.__init__(self, peer)

sys.stdout.write(Color.yellow)
_print_("Lossy Peer")
sys.stdout.write(Color.none)

threading.Thread.__init__(self)

self.splitter_socket = peer.splitter_socket
self.player_socket = peer.player_socket
self.buffer_size = peer.buffer_size
self.chunk_format_string = peer.chunk_format_string
self.splitter = peer.splitter
self.chunk_size = peer.chunk_size
self.peer_list = peer.peer_list
self.debt = peer.debt

# }}}

def print_the_module_name(self):
Expand Down
14 changes: 0 additions & 14 deletions src/monitor_dbs.py
Expand Up @@ -32,20 +32,6 @@ def __init__(self, peer):
_print_("Monitor DBS (list)")
sys.stdout.write(Color.none)

threading.Thread.__init__(self)

self.peer_list = peer.peer_list
self.splitter_socket = peer.splitter_socket
self.buffer_size = peer.buffer_size
#self.chunk_format_string = peer.chunk_format_string
self.splitter = peer.splitter
self.debt = peer.debt
self.chunk_size = peer.chunk_size
self.player_socket = peer.player_socket
self.message_format = peer.message_format
self.team_socket = peer.team_socket
#self.extended_message_format = peer.extended_message_format

# }}}

def print_the_module_name(self):
Expand Down
12 changes: 0 additions & 12 deletions src/monitor_fns.py
Expand Up @@ -30,18 +30,6 @@ def __init__(self, peer):
_print_("Monitor FNS")
sys.stdout.write(Color.none)

threading.Thread.__init__(self)

self.splitter_socket = peer.splitter_socket
self.player_socket = peer.player_socket
self.buffer_size = peer.buffer_size
self.chunk_format_string = peer.chunk_format_string
self.splitter = peer.splitter
self.chunk_size = peer.chunk_size

self.peer_list = peer.peer_list
self.debt = peer.debt

# }}}

def say_hello(self, node):
Expand Down
13 changes: 0 additions & 13 deletions src/monitor_lrs.py
Expand Up @@ -28,19 +28,6 @@ def __init__(self, peer):
_print_("Monitor LRS")
sys.stdout.write(Color.none)

threading.Thread.__init__(self)

self.splitter_socket = peer.splitter_socket
self.splitter = peer.splitter
self.buffer_size = peer.buffer_size
#self.chunk_format_string = peer.chunk_format_string
self.peer_list = peer.peer_list
self.player_socket = peer.player_socket
self.chunk_size = peer.chunk_size
self.debt = peer.debt
self.team_socket = peer.team_socket
self.message_format = peer.message_format

# }}}

def receive_the_buffer_size(self):
Expand Down
11 changes: 0 additions & 11 deletions src/peer_dbs.py
Expand Up @@ -43,17 +43,6 @@ def __init__(self, peer):
_print_("Peer DBS (list)")
sys.stdout.write(Color.none)

threading.Thread.__init__(self)

self.splitter_socket = peer.splitter_socket
self.player_socket = peer.player_socket
self.buffer_size = peer.buffer_size
#self.chunk_format_string = peer.message_format
self.splitter = peer.splitter
self.chunk_size = peer.chunk_size
self.message_format = peer.message_format
#self.extended_message_format = peer.message_format + "4sH"

_print_("DBS: max_chunk_debt =", self.MAX_CHUNK_DEBT)

# }}}
Expand Down
12 changes: 0 additions & 12 deletions src/peer_fns.py
Expand Up @@ -28,18 +28,6 @@ def __init__(self, peer):
_print_("Peer FNS")
sys.stdout.write(Color.none)

threading.Thread.__init__(self)

self.splitter_socket = peer.splitter_socket
self.player_socket = peer.player_socket
self.buffer_size = peer.buffer_size
self.splitter = peer.splitter
self.chunk_size = peer.chunk_size
self.peer_list = peer.peer_list
self.debt = peer.debt
self.message_format = peer.message_format
self.team_socket = peer.team_socket

# }}}

def say_hello(self, node):
Expand Down
14 changes: 14 additions & 0 deletions src/peer_ims.py
Expand Up @@ -35,6 +35,20 @@ class Peer_IMS(threading.Thread):

# }}}

def __new__(typ, *args, **kwargs):
# {{{

if len(args) == 1 and isinstance(args[0], Peer_IMS):
# Parameter is a peer instance; extending its class instead of nesting:
instance = args[0]
instance.__class__ = typ
return instance
else:
# Use default object creation
return object.__new__(typ, *args, **kwargs)

# }}}

def __init__(self):
# {{{

Expand Down

0 comments on commit f674f3f

Please sign in to comment.