Handle REQUEST_REGISTER.

This commit is contained in:
Yuxin Wang 2018-09-25 14:28:11 -04:00
parent 993b1050de
commit 998daaaa59

View file

@ -1,4 +1,5 @@
from p2pfs.core.utils import MessageServer
from p2pfs.core.message import MessageType
import socket
import logging
logger = logging.getLogger(__name__)
@ -17,7 +18,16 @@ class CentralServer(MessageServer):
def _process_message(self, client, message):
assert isinstance(client, socket.socket)
print(message)
if message['type'] == MessageType.REQUEST_REGISTER:
assert client in self._peers
self._write_message(client, {
'type': MessageType.REPLY_REGISTER,
'id': self._id,
'peer_list': tuple(filter(lambda x: x is not None, self._peers.values()))
})
self._peers[client] = (self._id, message['address'])
self._id += 1
logger.debug(self._peers.values())
def _client_closed(self, client):
assert isinstance(client, socket.socket)