|
From: | BuziFuzee |
Subject: | [Pydonkey-general] Todo for pysocket |
Date: | Sat, 30 Aug 2003 14:27:26 +0200 |
User-agent: | Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax) |
As demanded, ToDo-List for pysocket: 1.) UDP support Problem: - does not fit the structure of pysocket by now, because you have always to make sendto(data, address) and recvfrom(data, address) Solution: - Establishing Pseudo-Static-Connection Problem: - You never know when a session ends, because often packets are only sent once 2.) SSL-Support 3.) Protection System: - proove against DDOS attacks and garbled packages etc. Solutions: - Credit Point system like lugdunum (vulnerable as it seems) See: http://www.emule-project.net/board/index.php?showtopic=24033 - Problems: How deep can we interact with the socket API in Python? 4.) Connections ensurance: At the moment we connect to a client like this: def connecty(self,address): self.connected = 0 err = self.socket.connect_ex(address) if err in (EINPROGRESS, EALREADY, EWOULDBLOCK): return if err in (0, EISCONN): self.addr = address self.connected = 1 self.handle_connect() else: raise socket.error, err So we take a connection for established even when it not is already. The source is taken from the asynchat. I don't if it's going to be a problem, because the connection will be lost immediately when it fails, but could result in strange results, and even in DDOS-Attacks from our side. 5.) Better bandwidth control - the bandwidth control seems to be a little bit inconsistent - Solution: integrating it directly into the poll-functions - adding second bandwidth control with for example n GB / month - Bug: It is not possible to set up a connection without bandwidth control 6.) Priorising Connections - there should be a possibility for laying priority on some connections Solution: in the poll function priorised connections are always checked first or n-th with prio n, so we sort them before ask them Problem: in a worse case low-prio connection will never be able to send anything 7.) Integrating user-defined data must be made easier, when it is needed in the protocol Solution: Option to add a data-container to the protocol That's it for the moment, tell your ideas, Spikeee |
[Prev in Thread] | Current Thread | [Next in Thread] |