Commits on May 23, 2010
  1. @alanmcgovern

    Update the SlidingWindow picker to allow you to properly use it in a …

    …piece picker chain.
    
    svn path=/branches/bitsharp-0.90/; revision=157772
    alanmcgovern committed May 23, 2010
Commits on May 16, 2010
  1. @alanmcgovern

    * MonoTorrent.Tests/Client/MetadataModeTest.cs:

    * MonoTorrent.Tests/Client/InitialSeedUnchokerTests.cs: Put these
      tests in the right namespaces.
    
    svn path=/trunk/bitsharp/; revision=157405
    alanmcgovern committed May 16, 2010
  2. @alanmcgovern

    * MonoTorrent.Tests/Client/TestRig.cs:

    * MonoTorrent.Tests/MonoTorrent.Tests.csproj:
    * MonoTorrent.Tests/Client/InitialSeedingModeTest.cs:
    * MonoTorrent/MonoTorrent.Client/Modes/InitialSeedingMode.cs: When
      switching from InitialSeeding mode to any other mode, ensure that
      all connected peers get an updated bitfield message.
    
    svn path=/trunk/bitsharp/; revision=157404
    alanmcgovern committed May 16, 2010
  3. @alanmcgovern

    Revert accidental commit.

    svn path=/trunk/bitsharp/; revision=157402
    alanmcgovern committed May 16, 2010
  4. @alanmcgovern

    Whoops, committed the wrong file. This one makes HashingMode non-recu…

    …rsive.
    
    svn path=/trunk/bitsharp/; revision=157393
    alanmcgovern committed May 16, 2010
  5. @alanmcgovern

    Make HashingMode non-recursive so in the case where no files exist on…

    …-disk we don't use two stack frames for every piece in the torrent. Whoopsie!
    
    svn path=/trunk/bitsharp/; revision=157392
    alanmcgovern committed May 16, 2010
Commits on May 13, 2010
  1. @alanmcgovern

    Track the data read from the disk too.

    svn path=/trunk/bitsharp/; revision=157336
    alanmcgovern committed May 13, 2010
Commits on May 9, 2010
  1. @alanmcgovern

    * MonoTorrent/MonoTorrent.Client/Managers/TorrentManager.cs: If

      we're in metadata mode just spew out a safe string.
    
    svn path=/trunk/bitsharp/; revision=156980
    alanmcgovern committed May 9, 2010
  2. @alanmcgovern

    * MonoTorrent.Tests/MonoTorrent.Tests.csproj:

    * MonoTorrent.Tests/Common/SpeedMonitorTest.cs: Add tests to ensure
      the correctness of the transfer rate estimation code.
    
    * MonoTorrent/MonoTorrent.Common/SpeedMonitor.cs: Add missing license
      header and update the rate estimation algorithm so that it no longer
      gives insane answers when the number of ticks is less than the
      averaging period. Patch by 'nop'.
    
    svn path=/trunk/bitsharp/; revision=156979
    alanmcgovern committed May 9, 2010
  3. @alanmcgovern

    * MonoTorrent/MonoTorrent.csproj:

    * SampleClient/SampleClient.csproj:
    * MonoTorrent.Dht/MonoTorrent.Dht.csproj:
    * MonoTorrent.Tests/MonoTorrent.Tests.csproj: Remove more useless
    assembly references.
    
    svn path=/trunk/bitsharp/; revision=156978
    alanmcgovern committed May 9, 2010
  4. @alanmcgovern

    * MonoTorrent/MonoTorrent.csproj:

    * MonoTorrent/MonoTorrent.Client/ClientEngine.cs:
    * MonoTorrent/MonoTorrent.Client/Managers/TorrentManager.cs: Remove
      unnecessary reference to System.Xml.
    
    svn path=/trunk/bitsharp/; revision=156977
    alanmcgovern committed May 9, 2010
  5. @alanmcgovern

    * MonoTorrent/MonoTorrent.Client/NetworkIO.cs: Put try/catches in

      the right place so that we don't explode horribly if a socket is
      closed while we're rate limting.
    
    svn path=/trunk/bitsharp/; revision=156976
    alanmcgovern committed May 9, 2010
Commits on Apr 27, 2010
  1. @alanmcgovern

    Put in a quick hack for zero length files when verifying hashed data.

    svn path=/trunk/bitsharp/; revision=156171
    alanmcgovern committed Apr 27, 2010
Commits on Apr 25, 2010
  1. @alanmcgovern

    * MonoTorrent.Tests/Client/TestRig.cs:

    * MonoTorrent.Tests/Client/TorrentManagerTest.cs: Add some tests to
      ensure that invalid fast resume data is handled correctly.
    
    svn path=/trunk/bitsharp/; revision=156068
    alanmcgovern committed Apr 25, 2010
  2. @alanmcgovern

    If no files exist on disk then don't try to read anything.

    svn path=/trunk/bitsharp/; revision=156067
    alanmcgovern committed Apr 25, 2010
  3. @alanmcgovern

    When verifying the hash data is correct, only keep checking the files…

    … exist on disk if the manager is still counted as 'hashed'
    
    svn path=/trunk/bitsharp/; revision=156066
    alanmcgovern committed Apr 25, 2010
  4. @alanmcgovern

    Only hash the buffer if the read was successful. Should improve perfo…

    …rmance slightly for cases where the data does not exist.
    
    svn path=/trunk/bitsharp/; revision=156065
    alanmcgovern committed Apr 25, 2010
  5. @alanmcgovern

    * MonoTorrent/MonoTorrent.Client/PeerIO.cs:

    * MonoTorrent/MonoTorrent.Client/NetworkIO/ReceiveMessageState.cs:
      Ensure that the amount of data sent/received in the body of the
      message is recorded.
    
    svn path=/trunk/bitsharp/; revision=156063
    alanmcgovern committed Apr 25, 2010
  6. @alanmcgovern

    * MonoTorrent.Tests/Client/TransferTest.cs:

    * MonoTorrent.Tests/Client/MetadataModeTest.cs: Consolidate the
      SendMessage/ReceieveMessage test helpers to the implemention in
      TransferTest and reuse them for the metadata mode tests. Fixes
      random test failures.
    
    svn path=/trunk/bitsharp/; revision=156062
    alanmcgovern committed Apr 25, 2010
Commits on Apr 23, 2010
  1. @alanmcgovern

    * MonoTorrent/MonoTorrent.Client/NetworkIO.cs: The loops need to

      increment their variable. Doh!
    
    svn path=/trunk/bitsharp/; revision=155977
    alanmcgovern committed Apr 23, 2010
Commits on Apr 12, 2010
  1. @alanmcgovern

    * MonoTorrent/MonoTorrent.Client/PiecePicking/PriorityPicker.cs:

      When trying to decide if a peer is interesting when in selective
      download mode, pass the correct bitfield to the base method. We
      should be passing the one where all the 'DoNotDownload' pieces have
      been removed.
    
    svn path=/trunk/bitsharp/; revision=155273
    alanmcgovern committed Apr 12, 2010
  2. @alanmcgovern

    * MonoTorrent/MonoTorrent.csproj:

    * MonoTorrent.Tests/Client/TestRig.cs:
    * MonoTorrent/MonoTorrent.Common/Torrent.cs:
    * MonoTorrent.Tests/Common/InfoHashTests.cs:
    * MonoTorrent.Tests/Common/MagnetLinkTest.cs:
    * MonoTorrent.Tests/MonoTorrent.Tests.csproj:
    * MonoTorrent/MonoTorrent.Common/MagnetLink.cs:
    * MonoTorrent/MonoTorrent.Client/Managers/TorrentManager.cs:
    * MonoTorrent/MonoTorrent.Client/Managers/TrackerManager.cs: Create a
      proper MagnetLink class which parses all relevant metadata from a
      magnet link. Add some tests and add an additional constructor to
      TorrentManager so it can directly use this. Patch by olivier.
    
    svn path=/trunk/bitsharp/; revision=155272
    alanmcgovern committed Apr 12, 2010
  3. @alanmcgovern

    * MonoTorrent/MonoTorrent.Client/NetworkIO.cs: Reenable rate

      limiting. It's now more awesome than before :)
    
    svn path=/trunk/bitsharp/; revision=155219
    alanmcgovern committed Apr 12, 2010
Commits on Apr 9, 2010
  1. @alanmcgovern

    * MonoTorrent/MonoTorrent.Client/NetworkIO.cs:

    * MonoTorrent/MonoTorrent.Client/AsyncIOState.cs: Update the different
      upload/download counters properly again.
    
    svn path=/trunk/bitsharp/; revision=155102
    alanmcgovern committed Apr 9, 2010
Commits on Apr 7, 2010
  1. @alanmcgovern

    * MonoTorrent.Tests/Client/PeerMessagesTest.cs: Add a test for the

      last commit
    
    svn path=/trunk/bitsharp/; revision=154904
    alanmcgovern committed Apr 7, 2010
  2. @alanmcgovern

    Ensure that the Added, AddedDotF and Dropped keys are always in the d…

    …ictionary.
    
    svn path=/trunk/bitsharp/; revision=154903
    alanmcgovern committed Apr 7, 2010
  3. @alanmcgovern

    * MonoTorrent/MonoTorrent.Client/NetworkIO.cs: Ensure that sockets

      which return 0 are treated the same as if they threw an exception.
    
    * MonoTorrent.Tests/Client/TestRig.cs: Add api to force the return
      value of EndSend/EndReceive to be whatever I want.
    
    * MonoTorrent.Tests/Client/NetworkIOTests.cs: Add tests to ensure that
      a socket returning 0 bytes read/received is treated as being in an
      error state.
    
    svn path=/trunk/bitsharp/; revision=154902
    alanmcgovern committed Apr 7, 2010
  4. @alanmcgovern

    * TrackerApp/StressTest.cs: Fix compiler warning.

    svn path=/trunk/bitsharp/; revision=154901
    alanmcgovern committed Apr 7, 2010
  5. @alanmcgovern

    Add handling for KeepAliveMessages.

    svn path=/trunk/bitsharp/; revision=154900
    alanmcgovern committed Apr 7, 2010
  6. @alanmcgovern

    xdb.il should not be in the solution. Whoops.

    svn path=/trunk/bitsharp/; revision=154899
    alanmcgovern committed Apr 7, 2010
  7. @alanmcgovern

    * MonoTorrent/MonoTorrent.Client/Managers/ConnectionManager.cs: Some

      more fixes for cleanup code.
    
    svn path=/trunk/bitsharp/; revision=154898
    alanmcgovern committed Apr 7, 2010
  8. @alanmcgovern

    * MonoTorrent/MonoTorrent.Client/Managers/ConnectionManager.cs:

      Remove more old redundant cleanup code.
    
    svn path=/trunk/bitsharp/; revision=154897
    alanmcgovern committed Apr 7, 2010
Commits on Apr 6, 2010
  1. @alanmcgovern

    * MonoTorrent/MonoTorrent.Client/Managers/PieceManager.cs: Move the

      logic to close the connection of a peer who sends bad data here.
    
    * MonoTorrent/MonoTorrent.Client/Managers/ConnectionManager.cs: Clean
      up the cleanup code a bit.
    
    * MonoTorrent/MonoTorrent.Client/Modes/Mode.cs: Nuke unused variable.
    
    svn path=/trunk/bitsharp/; revision=154896
    alanmcgovern committed Apr 6, 2010
  2. @alanmcgovern

    * MonoTorrent.Tests/Client/TransferTest.cs:

    * MonoTorrent.Tests/Client/MetadataModeTest.cs:
    * MonoTorrent/MonoTorrent.Client/Managers/ListenManager.cs:
    * MonoTorrent/MonoTorrent.Client/PeerConnections/PeerId.cs: Nuke
      PeerId.ReceiveBuffer as it's now completely useless. Nuke all
      remaining uses of this.
    
    svn path=/trunk/bitsharp/; revision=154893
    alanmcgovern committed Apr 6, 2010
  3. @alanmcgovern

    * MonoTorrent/MonoTorrent.Client/Managers/ConnectionManager.cs:

      Remove a now useless call to free the receive buffer.
    
    * MonoTorrent/MonoTorrent.Client/Managers/ListenManager.cs: misc
      cleanup
    
    svn path=/trunk/bitsharp/; revision=154892
    alanmcgovern committed Apr 6, 2010