Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/p2p/StreamReader.py
diff options
context:
space:
mode:
Diffstat (limited to 'p2p/StreamReader.py')
-rw-r--r--p2p/StreamReader.py51
1 files changed, 0 insertions, 51 deletions
diff --git a/p2p/StreamReader.py b/p2p/StreamReader.py
deleted file mode 100644
index c108547..0000000
--- a/p2p/StreamReader.py
+++ /dev/null
@@ -1,51 +0,0 @@
-import network
-
-class StreamReaderRequestHandler(object):
- def __init__(self, reader):
- self._reader = reader
-
- def message(self, nick_name, message):
- address = network.get_authinfo()
- self._reader.recv(nick_name, message)
- return True
-
-class StreamReader:
- def __init__(self, group, service):
- self._group = group
- self._service = service
-
- if self._service.is_multicast():
- self._setup_multicast()
- else:
- self._setup_unicast()
-
- def set_listener(self, callback):
- self._callback = callback
-
- def _setup_multicast(self):
- address = self._service.get_address()
- port = self._service.get_port()
- server = network.GroupServer(address, port, self._recv_multicast)
- server.start()
-
- def _setup_unicast(self):
- started = False
- tries = 10
- port = self._service.get_port()
- while not started and tries > 0:
- try:
- p2p_server = network.GlibXMLRPCServer(("", port))
- p2p_server.register_instance(StreamReaderRequestHandler(self))
- started = True
- except:
- port = port + 1
- tries = tries - 1
- self._service.set_port(port)
-
- def _recv_multicast(self, msg):
- [ nick_name, data ] = msg['data'].split(" |**| ", 2)
- self.recv(nick_name, data)
-
- def recv(self, nick_name, data):
- if nick_name != self._group.get_owner().get_nick_name():
- self._callback(self._group.get_buddy(nick_name), data)