by Paco103 » March 18, 2005, 3:55 pm
That idea is already implemented, and it actually solves several problems that existed. For one, as you mentioned, downloading will not effect the standard network traffic, and also for disconnections and pruning. If a peer wants to prune and disconnect from a peer, we determined this could not be done if a file transfer was active. We were worried about having some way to initiate a pending disconnect and to make sure no new information was exchanged, allowing the connection to eventually be terminated. By using a seperate socket for the file transfer, a prune can work regardless of current connection status. The control connection can be broken, therefore completing the prune at any time, but any currently active trasfers will not be effected due to the seperate file socket.
Thanks for bringing that up though, that was one of our later implementations that we almost missed.
That idea is already implemented, and it actually solves several problems that existed. For one, as you mentioned, downloading will not effect the standard network traffic, and also for disconnections and pruning. If a peer wants to prune and disconnect from a peer, we determined this could not be done if a file transfer was active. We were worried about having some way to initiate a pending disconnect and to make sure no new information was exchanged, allowing the connection to eventually be terminated. By using a seperate socket for the file transfer, a prune can work regardless of current connection status. The control connection can be broken, therefore completing the prune at any time, but any currently active trasfers will not be effected due to the seperate file socket.
Thanks for bringing that up though, that was one of our later implementations that we almost missed.