Before I lose them: (disabled) experimental performance changes.
Did this quite a while back, but haven't tested yet. Changes to make a client even more passive when there are blocks in flight (requested by someone else) that they can use. The goal here is to keep a late joining client from making requests for chunks that all the others have already seen. This is not a big problem in the default case where clients randomize the order of chunks they request, but when they are making sequential requests it can be a problem.