With this in mind I have the following proposal... contribs welcome...
In the DC++ client could there be a feature added to test application upload speed by sending about 5 MB of data packets to the local loopback interface of the host thereby determining the amount of upload bandwidth availiable? If there is no capping in place the test should take no more than a few seconds and the reported bandwidth shoud be off scale, if there is capping in place it can be calculated by the 5mb / time taken and sent to the hubs that the client connects to. This gives ops the ability to refuse entry to leechers or modems or can be used to enforce ratios.
Ratios? Simple... When the users u/l speed is reported to a hub the hub can report it to other users whom that person is d/l from. The hub can have preset ratios (eg D/L speed = 4 x U/L speed) so when capped client A tries to D/L from client B in hub C, Client B gets the users u/l speed and ratio from hub C and caps u/l to client A at the hubs ratio speed! Make sense? (gcc not found?
Periodic requests by the hub or other clients for an U/L badwidth retest could be sent at random intervals to ensure capping software is not brought into play after initial test is run and will also allow sins to be forgiven if u/l bandwidth is incresed.
Thoughts anyone?