Ecosyste.ms: OpenCollective
An open API service for software projects hosted on Open Collective.
MonoTorrent
The official repository for MonoTorrent, a bittorrent library for .NET
Collective -
Host: opensource -
https://opencollective.com/monotorrent
- Code: https://github.com/alanmcgovern/monotorrent
github.com/alanmcgovern/monotorrent - cfcd6b550703b6bbaa38f345c8c60164740efa04 authored over 2 years ago by Alan McGovern <[email protected]>
github.com/alanmcgovern/monotorrent - 15430dd7867753ca256defe386c00db6978f876b authored over 2 years ago by Alan McGovern <[email protected]>
github.com/alanmcgovern/monotorrent - 60fb8a57a2e56d6152718aa28098917003f918d1 authored over 2 years ago by Alan McGovern <[email protected]>
github.com/alanmcgovern/monotorrent - c5ea2c1a773cc15f391b8e4a4df71c3fc3d21b71 authored over 2 years ago by Alan McGovern <[email protected]>
This *should* solve #517, but I don't know C# 🙃
github.com/alanmcgovern/monotorrent - 0dfb913f8f68e3a6c961350b3875a82e91ae94af authored almost 3 years ago by issueg2k4g34j2g <[email protected]>Implement the next phase of bep52.
We can download V2 torrents now!
github.com/alanmcgovern/monotorrent - b0c484684c708bfee4d92c06178f1e64d2cc4399 authored almost 3 years ago by Alan McGovern <[email protected]>github.com/alanmcgovern/monotorrent - 18ffe06054e457bc89693f37b28a278cf2579817 authored almost 3 years ago by alan.mcgovern <[email protected]>
github.com/alanmcgovern/monotorrent - 52b10204644f36c715971664e35440ec129a3694 authored almost 3 years ago by Alan McGovern <[email protected]>
Don't rely on any weird length checks throughout the code
to know whether or not we're dealing w...
Mutations can happen internally, when we actually append data.
github.com/alanmcgovern/monotorrent - e8819d00f8873515555891fe0384428aeedab175 authored almost 3 years ago by Alan McGovern <[email protected]>github.com/alanmcgovern/monotorrent - de01b3ea58f0fdbcf92f5d0e446a170b29a5e461 authored almost 3 years ago by Alan McGovern <[email protected]>
github.com/alanmcgovern/monotorrent - 1ddac372acd267560d2effb7ff35823b90790f7f authored almost 3 years ago by Alan McGovern <[email protected]>
They all fail the hashecheck though. The hashes don't match.
Odd! Am i calculating the wrong st...
github.com/alanmcgovern/monotorrent - 59ec71c49a73d1972633720824375e98ea76852e authored almost 3 years ago by Alan McGovern <[email protected]>
So... the code comments in the python implementation of a bep52
compliant torrent creator have a...
Now i just need to use SHA256 when computing the hash of the
downloaded data and we should see s...
github.com/alanmcgovern/monotorrent - a56d775e928389d2b175068a38e905b3293ee173 authored almost 3 years ago by Alan McGovern <[email protected]>
github.com/alanmcgovern/monotorrent - 4e1f58673cc905381695867e541983dea6a304fb authored almost 3 years ago by Alan McGovern <[email protected]>
The SHA256 and SHA1 infohashes are always computed as it's not
easy to predetermine whether a to...
This is dynamic for v2 torrents so we can future proof
this code by migrating it to the ITorrent...
A torrent can have V1, V2 or V1+V2 info hashes. Let's incremental
our way to that by migrating f...
This is intended to indicate that it's the raw bytes,
not an actual InfoHash object.
Propagate it through ITorrentFileInfo too
github.com/alanmcgovern/monotorrent - 237e8cc23ad706a0095c9b7429132df96e196e0d authored almost 3 years ago by Alan McGovern <[email protected]>github.com/alanmcgovern/monotorrent - a4ddd32c084ccc42c920c65241b4293c568b1884 authored almost 3 years ago by alan.mcgovern <[email protected]>
github.com/alanmcgovern/monotorrent - c91147ff4715bde6aa82b2ae971bd807acb540cb authored almost 3 years ago by Alan McGovern <[email protected]>
When changing from Downloading mode to Seeding mode we
should close any open PieceWriters so tha...
* [core] Rename ITorrentData -> ITorrentManagerInfo
* [bep52] Support dynamic piece sizes
...
github.com/alanmcgovern/monotorrent - 33d00e4190c35f2d2941d4bf56d87cafff13e889 authored almost 3 years ago by Alan McGovern <[email protected]>
Some cleanups to the API and to remove the dependency on
20byte hashes.
Next phase of downloading bep52 compliant torrents - complete.
Now that the data is parsed, val...
github.com/alanmcgovern/monotorrent - 275e85d189f97e6b434679eeaa3aa2a75edd3f64 authored almost 3 years ago by alan.mcgovern <[email protected]>github.com/alanmcgovern/monotorrent - b01fe347be31eec4abed1eada87325d869bc9afd authored almost 3 years ago by alan.mcgovern <[email protected]>
The only real usage for this is to mock out some
SHA1 hashing in tests for performance reasons.
...
github.com/alanmcgovern/monotorrent - 953f709144efa186dc95d0c6784196d4902f60b1 authored almost 3 years ago by Alan McGovern <[email protected]>
Huzzah
github.com/alanmcgovern/monotorrent - bddc26f5670f677115e1859c0560dd8dd51b896e authored almost 3 years ago by Alan McGovern <[email protected]>
This validates the piece data isn't corrupt/faked in the
torrent.
This should be ReadOnlyMemory<byte>, not Memory<byte>. Appending
data is a readonly operaiton so...
Disable code analysis as it's mostly producing junk. I have
hundreds of warnings which cannot be...
github.com/alanmcgovern/monotorrent - 87745ba5ca5fc725e605bcb3dae5fd2fe67825e0 authored almost 3 years ago by Alan McGovern <[email protected]>
github.com/alanmcgovern/monotorrent - b19890561974ca95c71502843d75a11f9dd03a74 authored almost 3 years ago by Alan McGovern <[email protected]>
Unblocks the next phase of Bep 52 support.
github.com/alanmcgovern/monotorrent - d8b5e38d43fe07e061e2ed144dabc28962549eb2 authored almost 3 years ago by Alan McGovern <[email protected]>Now it's threadsafe when users call StartAsync/StopAsync on multiple different TorrentManager in...
github.com/alanmcgovern/monotorrent - b3a7154acabc250f1c95603364ca7ab41e1b4a89 authored almost 3 years ago by Alan McGovern <[email protected]>github.com/alanmcgovern/monotorrent - 81f6b2bde05f81ba06c7491f8dc5c9dfdd37f211 authored almost 3 years ago by Alan McGovern <[email protected]>
Better than byte[].
github.com/alanmcgovern/monotorrent - d08d3985cfd170500d426b29eb3a92f29a2589f3 authored almost 3 years ago by Alan McGovern <[email protected]>[core] Allow to load FastResume objects from a stream
github.com/alanmcgovern/monotorrent - f6cffa22bee035c64f7709f44d67488e9a688ba1 authored almost 3 years ago by Alan McGovern <[email protected]>
Since FastResume.Encode() can write to a stream, it makes sense to allow
FastResume.TryLoad() to...
Piece picking perf improvements
github.com/alanmcgovern/monotorrent - 70076cad0790919bd31debe4f66ac6ecf36fc1e8 authored almost 3 years ago by Alan McGovern <[email protected]>
We need to keep a few things in sync now, so create a wrapper
class to reduce the risk of things...
Before:
| Method | Mean | Error | StdDev | Gen 0...
Use a temp bitfield to determine which pieces are available for
picking. We have super optimised...
This is about 10% faster:
| Method | Mean | Error | StdDev | ...
Keep a BitField and mark pieces which have already
been requested. This is about 30% faster:
| ...
Initial results:
| Method | Mean | Error | StdDev | Gen 0 | Al...
Performance is about 3x better.
| Method | Mean | Error | Std...
github.com/alanmcgovern/monotorrent - 2229812f43a256e52a3c86f423120b03ee76df06 authored almost 3 years ago by Alan McGovern <[email protected]>
Migrate all of these to the same pattern as
NAnd. They're less frequently used, but this
keeps t...
This is the most expensive method when picking
pieces, so improve the performance slightly.
The...
github.com/alanmcgovern/monotorrent - 18d6a0d3c39fd3c1255222e68acea45da531732c authored almost 3 years ago by alan.mcgovern <[email protected]>github.com/alanmcgovern/monotorrent - 5b2ace1df267fae0a49852ac6c2258345bd44628 authored almost 3 years ago by Alan McGovern <[email protected]>
.NET has finally provided access to CPU instructions which
improve the performance of BitField.
...
github.com/alanmcgovern/monotorrent - 920d5501afa5612d911ef395a22e13751af9b553 authored almost 3 years ago by alan.mcgovern <[email protected]>
99.99% of the time we won't need to rename files, so
only allocate a list when a file move needs...
We can leverage the new overloads in .NET 2.1 to write
the hash of the piece to a reusable/cache...
[core] Replace invalid characters in the generated path
github.com/alanmcgovern/monotorrent - deed4849d341a6375ab19046bb5586fa11922933 authored about 3 years ago by Alan McGovern <[email protected]>Urgh.
github.com/alanmcgovern/monotorrent - f9772ff57c95acceee19dae9a77ca08526171412 authored about 3 years ago by alan.mcgovern <[email protected]>
Firstly, ensure the constructed path doesn't contain
invalid characters.
Secondly, ensure that ...
github.com/alanmcgovern/monotorrent - 862dddb75b06196839b0ea2ea6a2680a6e7c3b0c authored about 3 years ago by alan.mcgovern <[email protected]>
'SavePath' is the path the user provides. By default a multi-file
torrent will create a sub-dire...
Replace invalid characters with the hex equivalent (and hope
there is no collision).
Addresses ...
github.com/alanmcgovern/monotorrent - 70edaf065cb6bca38d183d4fea50077306265801 authored about 3 years ago by Alan McGovern <[email protected]>
Record total bytes sent/received, as well as the
estimated transfer rate in bytes/second.
Add docs covering each property, describing exactly how the value is calculated.
Addresses #488
github.com/alanmcgovern/monotorrent - a8971df948849a1ebbe683acc0457ed3346ee1b8 authored about 3 years ago by Alan McGovern <[email protected]>github.com/alanmcgovern/monotorrent - d4c355f91ec7b66300b496ff8568791734c30ed3 authored about 3 years ago by alan.mcgovern <[email protected]>
Disable parsing of v2 only torrents by default so I can
incrementally add support throughout the...
If we retain/reuse Piece objects we eliminate that last of the
per-piece allocations.
tbh there...
github.com/alanmcgovern/monotorrent - 2332a769f076cc4ac072266b098ba5c626513c1f authored about 3 years ago by alan.mcgovern <[email protected]>github.com/alanmcgovern/monotorrent - 0920ae3ea9a788e99c694b04a6b5ce7103141eb2 authored about 3 years ago by alan.mcgovern <[email protected]>
Slowly migrate PiecePicker to use a Span<BlockInfo> to write pieces
to instead of passing back a...
Previously PieceMessage had specialised support which allowed
the underlying buffer to be freed ...
github.com/alanmcgovern/monotorrent - b9056b09b78c4962920dc932e42c6d06bb7ba1c8 authored about 3 years ago by alan.mcgovern <[email protected]>
Use multitargeting to provide each of the three execution platforms.
github.com/alanmcgovern/monotorrent - 6fcef50df0cdb7d5e1afe5d888c4de0f70210870 authored about 3 years ago by alan.mcgovern <[email protected]>github.com/alanmcgovern/monotorrent - ae6a8de767226d429ebcde675eb757fb58196ad0 authored about 3 years ago by alan.mcgovern <[email protected]>
github.com/alanmcgovern/monotorrent - bdb21a787a179974f825e88fb74b2659b74167af authored about 3 years ago by Alan McGovern <[email protected]>
github.com/alanmcgovern/monotorrent - 89ee44a14fb5d16e2f2e6745a307e18f9ea39e87 authored about 3 years ago by Alan McGovern <[email protected]>
github.com/alanmcgovern/monotorrent - ac62777ea7affc5f383a0f6fbe8ba97629d645f2 authored about 3 years ago by Alan McGovern <[email protected]>
The .NETStandard 2.0 compatibility shim was broken. Oops.
github.com/alanmcgovern/monotorrent - f560800171165dc31ac1d12e84c6de796613566b authored about 3 years ago by alan.mcgovern <[email protected]>
Call it like a regular extension method. It can't be confused
with Enumerable.SequenceEqual
github.com/alanmcgovern/monotorrent - 9bde6f141d7a23d62e2ba853ea8abd24944d276d authored about 3 years ago by alan.mcgovern <[email protected]>
github.com/alanmcgovern/monotorrent - 2f95d965fa94c9d0d4b71efcf27b4176be8a5362 authored about 3 years ago by alan.mcgovern <[email protected]>
Some tests stop the listener so we need to ensure the
listener is running at the start of every ...
* [core] Migrate to Span<T> and Memory<T> throughout
In terms of overall performance, this is...
github.com/alanmcgovern/monotorrent - 4219919947fccbad987bb5012402e64d8a307970 authored about 3 years ago by Alan McGovern <[email protected]>Useful for microbenchmarks
github.com/alanmcgovern/monotorrent - 454a6a1fd4a5917abb4316398a79458b0843a755 authored about 3 years ago by alan.mcgovern <[email protected]>github.com/alanmcgovern/monotorrent - 385121eeb4b0eb39bbbcc120b6363d301d502a25 authored about 3 years ago by alan.mcgovern <[email protected]>
github.com/alanmcgovern/monotorrent - 557c8a9de58d94c5fa5f9edbdd131ff28b19b8b7 authored about 3 years ago by alan.mcgovern <[email protected]>
Also split ITrackerConnection out of ITracker.
Internally a tracker is just a tracker, the only...
github.com/alanmcgovern/monotorrent - 8e0c6b6b43ef7b9f47bb09ae6520039e613caf38 authored about 3 years ago by alan.mcgovern <[email protected]>Make them appear in a 'Linked' subdirectory in the project
github.com/alanmcgovern/monotorrent - 64c914d7f2b3b89f5fcda9c92b0eeaae95140fec authored about 3 years ago by alan.mcgovern <[email protected]>github.com/alanmcgovern/monotorrent - 47cc30b7ee079b7e1dfe01d72cf26cff2b9b02d9 authored about 3 years ago by alan.mcgovern <[email protected]>
* [dht] Move Dht to it's own library (again)
github.com/alanmcgovern/monotorrent - e37dbe42f0de823ca4c134b0163f39c96f71465d authored about 3 years ago by Alan McGovern <[email protected]>github.com/alanmcgovern/monotorrent - 3133f0b93122471cfbee83a341798d2ab88b7cef authored about 3 years ago by alan.mcgovern <[email protected]>
github.com/alanmcgovern/monotorrent - 4305b04c36679d2b75d7389238719efe70cef524 authored about 3 years ago by alan.mcgovern <[email protected]>
github.com/alanmcgovern/monotorrent - 143b44a25d4bcbbfc6c665d71fe2f62f3494c90d authored about 3 years ago by alan.mcgovern <[email protected]>
github.com/alanmcgovern/monotorrent - df0c6629f6302e4696900fbfb0641f11ba67cbed authored about 3 years ago by Alan McGovern <[email protected]>
It's just impossible to keep this working. Meh.
github.com/alanmcgovern/monotorrent - 0b64145b581cf71f5ff91dd957c6a12f765e77b8 authored about 3 years ago by Alan McGovern <[email protected]>
It'll make builds a little faster and cut down on
compiler warnings.
github.com/alanmcgovern/monotorrent - d888292d635b24f7783e15364e9734755abfbe31 authored about 3 years ago by Alan McGovern <[email protected]>
github.com/alanmcgovern/monotorrent - 7cb872658fc2e2af32a2dee88e2e8980a83a1e58 authored about 3 years ago by Alan McGovern <[email protected]>
github.com/alanmcgovern/monotorrent - dee275760159dacb4e0a122a48876d21c0ed480d authored about 3 years ago by Alan McGovern <[email protected]>
github.com/alanmcgovern/monotorrent - c2a7630f2f48ae835c361bcf86af6df7be2a43c1 authored about 3 years ago by Alan McGovern <[email protected]>