* Notes about this project ** Sending files over network *** Raw sending through Line The file sending stuff is not really easy however twisted seems to have a very good way to handle this, illustrated at this link: http://twistedmatrix.com/pipermail/twisted-python/2007-July/015738.html (There's an example) *** Bittorrent Another way would be integrate a bittorrent library inside the code, in that way: A: pass the .torrent file B: accept and start the connection There should be at least one tracker. (maybe one for each client) Maybe the best library is libtorrent-rasterbar *** Perspective Broker **** Producer/Consumer A perspective broker should be nice for doing that, plus the Producer/Consumer pattern. The producer/consumer however are on another port like: PBRoot() def remote_transfer_file(port,host,key): start transfer **** Pager using pager is on the same port, though I don't know if the performances are good. ** Tasks *** DONE refactoring of client and server - State "DONE" from "TODO" [2010-05-11 mar 16:14] separation of concerns as described in_ http://twistedmatrix.com/documents/current/core/howto/design.html *** DONE client and server must have different protocols - State "DONE" from "TODO" [2010-05-11 mar 16:14] *** TODO find a way to test servers and clients through a loop ** Features Planned First: - Automatic discovery in LAN through avahi - easy file transfer, possibly fast - directory transfer - stop/pause/resume transfer. - checking for integrity and if there are some parts not integer, it will recover that parts without redownloading all the file. Second: - recovering transfers after ungraceful shutdown [maybe, it will require something like authentication] * Notes about twisted ** Factories from the finger tutorial: The same behavior, but finally we see what usefulness the factory has: as something that does not get constructed for every connection, it can be in charge of the user database. In particular, we won't have to change the protocol if the user database back-end changes. self-explanatory! * Notes about pygtkhelpers reading the source is the only way till the 1.0.