Skip to content
Snippets Groups Projects
Commit 4781deff authored by jkerdreu's avatar jkerdreu
Browse files

added a loop detection queue

git-svn-id: https://redmine.imt-atlantique.fr/svn/xaal/code/Python/trunk@2334 b32b6428-25c9-4566-ad07-03861ab6144f
parent 010363bb
No related branches found
No related tags found
No related merge requests found
...@@ -2,6 +2,8 @@ from xaal.lib import NetworkConnector ...@@ -2,6 +2,8 @@ from xaal.lib import NetworkConnector
import socket import socket
import select import select
import argparse import argparse
import hashlib
import collections
class UDPConnector(object): class UDPConnector(object):
UDP_MAX_SIZE = 65507 UDP_MAX_SIZE = 65507
...@@ -34,10 +36,20 @@ def run(u_addr,u_port,m_addr,m_port): ...@@ -34,10 +36,20 @@ def run(u_addr,u_port,m_addr,m_port):
mc = NetworkConnector(m_addr,m_port,10) mc = NetworkConnector(m_addr,m_port,10)
mc.connect() mc.connect()
queue = collections.deque(maxlen=50)
while 1: while 1:
data = udp.get_data() data = udp.get_data()
if data: if data:
h = hashlib.blake2b(data).hexdigest()
queue.append(h)
mc.send(data) mc.send(data)
data = mc.get_data()
if data:
h=hashlib.blake2b(data).hexdigest()
if h not in queue:
udp.send(data)
def main(): def main():
ap = argparse.ArgumentParser(description="Simple un-reflector") ap = argparse.ArgumentParser(description="Simple un-reflector")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment