Hi!
I'm seeking advice on simulating Tor's consistent hashing, bridge ring distributor. I'm finishing up my Master's thesis on proxy distribution :) I run BridgeDB through my Python simulator to analyze the https distributor's bridge assignments over multiple bridge pool sizes and trials. So far, it follows a uniform random distribution (as expected).
I'm using https distributor's prepopulateRings() example as a guideline on how the rings should be populated. Besides the default ring settings, are there any other test scenarios that I should cover? For instance, is there a possibility that the behaviour might change if there are quality of service limitations? Aside from the reserved set, are there any cases where it may not assign bridges uniform randomly that I should consider?
I attempted to use the descriptors from leekspin, but ran into some hurdles integrating it with my simulator. My simulator doesn't need to persist or store state, since I only need the assignment information of proxies to clients until all proxies are enumerated. I hope the pared down version using the test data from generateFakeBridges() in test/util.py is adequate.
Any advice is greatly appreciated!