title: Downloading a Torrent with libtorrent-python
body: <p>I have the following python code:</p>
  
  <pre><code>import libtorrent as lt
  import time
  
  ses = lt.session()
  ses.listen_on(6881, 6891)
  params = {
      'save_path': '/home/downloads/',
      'storage_mode': lt.storage_mode_t(2),
      'paused': False,
      'auto_managed': True,
      'duplicate_is_error': True}
  link = "magnet:?xt=urn:btih:4MR6HU7SIHXAXQQFXFJTNLTYSREDR5EI&amp;tr=http://tracker.vodo.net:6970/announce"
  handle = lt.add_magnet_uri(ses, link, params)
  ses.start_dht()
  
  print 'downloading metadata...'
  while (not handle.has_metadata()):
      time.sleep(1)
  print 'got metadata, starting torrent download...'
  while (handle.status().state != lt.torrent_status.seeding):
      s = handle.status()
      state_str = ['queued', 'checking', 'downloading metadata', \
                  'downloading', 'finished', 'seeding', 'allocating']
      print '%.2f%% complete (down: %.1f kb/s up: %.1f kB/s peers: %d) %s %.3' % \
                  (s.progress * 100, s.download_rate / 1000, s.upload_rate / 1000, \
                  s.num_peers, state_str[s.state], s.total_download/1000000)
      time.sleep(5)
  </code></pre>
  
  <p>Which seems to work fine, but then slows down to less than a byte/s:</p>
  
  <pre><code>$ python test.py 
  downloading metadata...
  got metadata, starting torrent download...
  0.00% complete (down: 195.0 kb/s up: 8.0 kB/s peers: 28) checking 3.069
  0.00% complete (down: 133.0 kb/s up: 5.0 kB/s peers: 28) checking 3.342
  0.00% complete (down: 29.0 kb/s up: 1.0 kB/s peers: 28) checking 3.359
  0.00% complete (down: 5.0 kb/s up: 0.0 kB/s peers: 28) checking 3.398
  0.00% complete (down: 4.0 kb/s up: 0.0 kB/s peers: 28) checking 3.401
  0.00% complete (down: 0.0 kb/s up: 0.0 kB/s peers: 28) checking 3.405
  0.00% complete (down: 0.0 kb/s up: 0.0 kB/s peers: 28) checking 3.408
  0.00% complete (down: 0.0 kb/s up: 0.0 kB/s peers: 28) checking 3.412
  </code></pre>
  
  <p>It slows down and never completes. Any idea why this happens?</p>