Building peer-assisted networking applications