Not sure what happened here, but Tuesday's push from Hackbright has not gone through. I had to redo quite a bit of work - not too jazzed about that. In a nutshell: it seems I'm getting incomplete bitfields from the peers, so I often don't get the entire file on the first run. I need to account for that and reconnect to the peers until bitfield is complete. I wrote the function that calculates complete bitfield, separated Brain and Client and set up the brain so that it only connects to an n-size subset of the peers list. Another problem is that the same piece is requested from different peers at the same time, so it's being overwritten and my bitfield is being updated to an astronomical figure. Working on fixing that.