Friday, March 20, 2009

MonoTorrent 0.70

With all the excitement going on, I forgot to blog about MonoTorrent 0.70, so here's a belated summary of what went on:

* Fixed an issue for torrents with no trackers
* Optimised the Bitfield class to allow for higher performance piece picking
* Rewrote the piece picking API which resulted in a very extensible, easily testable, less buggy and faster implementation
* Fixed an issue where the announce wouldn't happen immediately after a torrent completes
* Fixed several issues with webseeding and rate limiting
* Fixed an issue which resulted in an incorrect encryption level been chosen in a small proportion of cases
* Ensure that announces to trackers always time out correctly
* Fixed a race condition when stopping a torrent while an incoming connection is being processed
* Increased the performance of disk IO so that hashing a torrent is about 10% faster
* Vastly improved performance of the BanList parser
* Fixed issue where fast pieces could be requested multiple times
* Fixed issue with selective downloading where the start/end indices of files could be offset by 1

A precompiled binary can be found here and the source tarball can be found here. Enjoy!

2 comments:

Marco Polo said...

Hello,
I want to develop something based on the monotorrent library in Visual Basic.Net, but I can't find something to help me. All is in C#, a language not known for me. Can you help me by telling me some steps for creating an application based on monotorrent? What are the steps? Thank you.
Kindest regards,
Marco PASCALINI

Anonymous said...

Alan - I went from 62 to 70 and am now getting a error.

" at MonoTorrent.Common.Toolbox.RaiseAsyncEventc__AnonStorey80`1.m__130(Object )\r\n at System.Threading._ThreadPoolWaitCallback.WaitCallback_Context(Object state)\r\n at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)\r\n at System.Threading._ThreadPoolWaitCallback.PerformWaitCallbackInternal(_ThreadPoolWaitCallback tpWaitCallBack)\r\n at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback(Object state)"

Long enough for you!?!

Anyway - it seems to be after I load a torrent. Any ideas?

Thanks

Hit Counter