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
For some reasons 3 versions of GitInfo (.22, .23 and .24) were all
delisted from nuget. Update t...
Ensure the Status is updated appropriately for Http and Udp
trackers whenever we get an invalid ...
* Add multifile metadata path test
* Fix savepath for multifile torrents on completion of met...
github.com/alanmcgovern/monotorrent - da5730bf0f69a59498d064cf16bf6da1c40d3c19 authored almost 5 years ago by Jean-Paul Mikkers <[email protected]>
Expected failures (like probing multiple locations for
git.exe) no longer emit warnings when git...
github.com/alanmcgovern/monotorrent - 26e835fe547e65a85cd64b3e0e65a79fff7adb60 authored almost 5 years ago by Alan McGovern <[email protected]>
Don't check the State, just check the Mode :)
github.com/alanmcgovern/monotorrent - 39bf65712e03c9074e8e1bf9ddae5e417cf26c20 authored almost 5 years ago by Alan McGovern <[email protected]>
Like most BitTorrent BEPs, the BEP for DHT is incredibly vague.
The only client which I can find...
Covers the fix in the previous commit
github.com/alanmcgovern/monotorrent - 4f7383eff88546832d79d0989d996f78214df87e authored almost 5 years ago by Alan McGovern <[email protected]>github.com/alanmcgovern/monotorrent - 25fa646adeef017d0b1dac440a735476699b6866 authored almost 5 years ago by jpmikkers <[email protected]>
When handling a tracker response we should read from the
stream asynchronously. As part of this ...
If we are expecting to receive data from the tracker's
response, then we should have a sanity/sa...
Once a connection has been established to a remote peer, or
an incoming connection has been rece...
github.com/alanmcgovern/monotorrent - 03236256ec1f215f0b89e9d71d138840062a346b authored about 5 years ago by Alan McGovern <[email protected]>
Before we allow a peer to be added to the 'Connected' list,
ensure it's bitfield is of the corre...
When a peer connects we should use it's bitfield to check
what pieces are available rather than ...
If a torrent is hash checked and a file is marked as
'do not download' then we skip that hash ch...
If a file is marked DoNotDownload we should continue to not
download it when in endgame mode. Ot...
When the final block in a given piece has been received we need
to remove the request from the l...
If a user calls 'StartAsync' and then invokes it a second time
without awaiting the original 'Ta...
The aim behind this patch is to ensure asynchronous tasks
are properly ignored/cancelled when a ...
We now report the correct state. Oops.
github.com/alanmcgovern/monotorrent - 60052e3970f7472d6b7194fcf9672f224c808165 authored about 5 years ago by Alan McGovern <[email protected]>github.com/alanmcgovern/monotorrent - 052d046bf0f858eaac41ef7bc575d8ed140cb375 authored about 5 years ago by Alan McGovern <[email protected]>
Make it clear what the purpose of the two methods is
github.com/alanmcgovern/monotorrent - c647a5691d897e5b0f7fbfe85f23e979e40b82a0 authored about 5 years ago by Alan McGovern <[email protected]>Second part of a fix for ReusableTaskCompletionSource
github.com/alanmcgovern/monotorrent - 56fb7abca44f611271406ba9de00d5bad7a6b3d9 authored about 5 years ago by Alan McGovern <[email protected]>github.com/alanmcgovern/monotorrent - 2209922c4159e394242c6c337401571312642b6e authored about 5 years ago by Alan McGovern <[email protected]>
In normal mode we want to pick a random piece from the
list of rarest pieces. We additionally ta...
github.com/alanmcgovern/monotorrent - c9b260557bba8b074cfaa78cd16e59dbd51d4f0f authored about 5 years ago by Alan McGovern <[email protected]>
github.com/alanmcgovern/monotorrent - 91b210b627e85dd234b2236277ee0e9f6ec44dc1 authored about 5 years ago by Alan McGovern <[email protected]>
This will ensure data is flushed to it's final storage.
github.com/alanmcgovern/monotorrent - 6cfb59d58ae5716fee1227b3cce37c8bead5c9a6 authored about 5 years ago by Alan McGovern <[email protected]>
If there are not many pieces in the torrent, don't use threads.
At the very least each thread we...
This restores the original behaviour of the class, except now it
creates one IPieceWriter per th...
Let's start with the approach of refactoring the internals to use
async Task all the way through...
This should give a bit of a speed boost. The use of 256kB
buffers for the file stream should min...
github.com/alanmcgovern/monotorrent - f76a720f622ebe98b5896684cf3e66eefc71fdd8 authored about 5 years ago by Alan McGovern <[email protected]>
This ensures that HTTP connections are not accidentally
created for all the other tests.
Torren...
github.com/alanmcgovern/monotorrent - c39354f2bd3b7b901fc33b0ae862c5986ca69c0c authored about 5 years ago by Alan McGovern <[email protected]>
Current default values match the previously hardcoded values for the webseeding
trigger timeout ...
Hopefully fix https://github.com/mono/monotorrent/issues/181
github.com/alanmcgovern/monotorrent - 480071c77b90bdaf9be0ec29329675edcb3c1dac authored about 5 years ago by Alan McGovern <[email protected]>
This new release will throw InvalidTaskReuseException if something
bad occurs, whereas previous ...
If a message has timed out and is not in our queue anymore,
don't throw a KeyNotFoundException, ...
Declare a ConnectionClosedException and throw that when an
IConnection indicates a connection ha...
Fixes an issue reported in https://github.com/mono/monotorrent/issues/156
by sdluxeon.
:)
github.com/alanmcgovern/monotorrent - e5f475ca73735512b43935677d318534977a0b87 authored about 5 years ago by Alan McGovern <[email protected]>
When initializing we should ensure we always init both the
standard picker and endgame picker.
...
github.com/alanmcgovern/monotorrent - 1fb56d769efd9743ce218e20a71ecfe79c4ff538 authored about 5 years ago by Alan McGovern <[email protected]>
Existing binaries will continue to work as expected, though
the internal logic will calculate th...
Default it to 10 seconds, but allow users to override it
if *really* necessary.
If execution is being paused in the debugger then connections
are going to be closed regardless ...
This is a better description of what the class actually
does.
This iadvertently was running on the wrong thead. It should
be proxying to the IO thread.
Now i...
github.com/alanmcgovern/monotorrent - 0295928a0ad6112bf0e5e7e064f6836f9fca664c authored about 5 years ago by Alan McGovern <[email protected]>
Allow 8MB pieces as a default maximum now, and also use
some constants to make it a little cleaner.
This is an additional safety check to ensure logic internal to
the library never over-reads.
github.com/alanmcgovern/monotorrent - e0faf64892c6260670d9d1c78cf52eea25b57f9f authored about 5 years ago by Alan McGovern <[email protected]>
No-one will be able to create a ClientEngine if the dependencies
are missing. The FileNotFoundEx...
The previous catch-all exception handling would enter an infinite loop when
for some reason Reus...
github.com/alanmcgovern/monotorrent - 64ae50346df9d1fe8f76668da567ecb75ea8cebc authored about 5 years ago by Alan McGovern <[email protected]>
github.com/alanmcgovern/monotorrent - 3131dc53aae64e7425ae0b4f14a8c4726e526445 authored about 5 years ago by Alan McGovern <[email protected]>
github.com/alanmcgovern/monotorrent - 72f0296cf2ddad62f7959c2b49bf2e7be246228e authored about 5 years ago by Alan McGovern <[email protected]>
github.com/alanmcgovern/monotorrent - d5897131e8964be576fba7615289ee34293b155c authored about 5 years ago by Alan McGovern <[email protected]>
This fixes a bug where it would mis-report OperationCancelledException
when using Assert.ThrowsA...
In endgame mode ensure that *all* pending requests for a given piece
are cancelled if/when every...
This was necessary before ReusableTaskCompletionSource<T> was
fully implemented. Now that it's c...
github.com/alanmcgovern/monotorrent - 35f60c58add6fbe0a9ceff0fa97d9334c9049ac6 authored about 5 years ago by Alan McGovern <[email protected]>
github.com/alanmcgovern/monotorrent - 7ff16b8badee3d8fe67c85f0487029c2fd6ddde4 authored about 5 years ago by Alan McGovern <[email protected]>
We know how many items we'll be adding, so use the correct sized
list.
If they're busy we'll just drop them. If we receive their details
from a future tracker announce...
Just to be sure there's no unnecessary lock contention.
github.com/alanmcgovern/monotorrent - e71b1cb729b5ab1c80f75d6099f869f538b20a62 authored about 5 years ago by Alan McGovern <[email protected]>It's better to use these, if we can!
github.com/alanmcgovern/monotorrent - 5d68269a5cf2c34032e97819be366666bb34e33f authored about 5 years ago by Alan McGovern <[email protected]>
By default have suppression is not enabled, so we can create
one MessageBundle and send it to ev...
github.com/alanmcgovern/monotorrent - 93d038eb5edc9f2a92ae8befcdb6d61c484af49b authored about 5 years ago by Alan McGovern <[email protected]>
On active swarms we could discover hundreds or thousands of peers.
If we only connect to 60 of t...
We can write the short directly.
github.com/alanmcgovern/monotorrent - 8b76aecb4147cdc55cd32d66c854c771b02a1b00 authored about 5 years ago by Alan McGovern <[email protected]>
The next round of misc fixes is in! This should save a chunk
of memory when picking pieces.
Glorious!
github.com/alanmcgovern/monotorrent - 5304f301272d0b70533fbebc596e371ee425cf38 authored about 5 years ago by Alan McGovern <[email protected]>github.com/alanmcgovern/monotorrent - 1c0900992114ad4eeb3784da056a51b91e3517c8 authored about 5 years ago by Alan McGovern <[email protected]>
Mono ships a BigInteger implementation that doesn't strip leading
0s from the output. It's not f...
Don't allocate a new list every time we pick a piece. We
can pass in the existing list exactly a...
github.com/alanmcgovern/monotorrent - 3b781c5a8c2fb0779a011db4c51c7497d7b697f0 authored about 5 years ago by Alan McGovern <[email protected]>
This should be a local variable. Note: we cannot use a buffer
from our pool for this as it is co...
If we are using a SocketAsyncEventArgs to wrap a buffer which
does not come from the pool, ensur...
This is in advance of adding sanity checks to the peer parsing
code to ensure we never accept pe...
Sending/Receiving handshakes should use pooled buffers.
github.com/alanmcgovern/monotorrent - 762e5a9c1aaed679fc3c5cc617dec2e587876e24 authored about 5 years ago by Alan McGovern <[email protected]>Fix an IndexOutOfRange when dealing with 0.
Now the code paths for .net standard 2.0 and 2.1 ar...
github.com/alanmcgovern/monotorrent - 67e593e93b6f757cda3d8214c25f2266c744c0db authored about 5 years ago by Alan McGovern <[email protected]>
NodeId rarely needs a BigInteger, so avoid allocating one and retaining
it in memory.
Some things are const and are reused, such as the bytes for
'req1' etc. Rather than constantly c...
If a null connection is provided, it should return null instead
of wrapping it in a V1ToV2Converter
github.com/alanmcgovern/monotorrent - 5c99d3075e565d83e40e0a42455c51e82ef03620 authored about 5 years ago by Alan McGovern <[email protected]>
github.com/alanmcgovern/monotorrent - 72e3ea87b223a68a66facfb11369a43d06275969 authored about 5 years ago by Alan McGovern <[email protected]>
When the ability to pause/resume hashing was added it broke the
logic used by HashCheckAsync (tr...
MonoTorrent now depends on an external nuget, so we can't
create a self-contained zip file anymore.
github.com/alanmcgovern/monotorrent - 77f69fc639ac48a52e67110e57b09f41e90f32e1 authored about 5 years ago by Alan McGovern <[email protected]>
If we successfully connect to a peer, but then the handshake fails,
we should retry immediately....
It's only called by this class, and it should only be called by
this class.
github.com/alanmcgovern/monotorrent - 00510c2a8c5230da9642acb9901335cc44f28d51 authored about 5 years ago by Alan McGovern <[email protected]>
github.com/alanmcgovern/monotorrent - 8db184ac7341495b614f8c8332cc9f1f09e0e687 authored about 5 years ago by Alan McGovern <[email protected]>
The main difference is that the BigInteger I had previously
imported from the Mono source treate...
Even if we have compiled for .NET Standard 2.0, the underlying
runtime we are executing on may b...
github.com/alanmcgovern/monotorrent - 34bac2d2ce2c6a10ac97c923b0f937d20b684271 authored about 5 years ago by Alan McGovern <[email protected]>
This has been implemented in an API compatible way. Anyone
who has implemented IConnection will ...
Disable ExecutionContext flow for the socket methods to reduce
allocations.
This is already don...
github.com/alanmcgovern/monotorrent - c3fab3169d5c8cae65c2671488c462ba36feb713 authored about 5 years ago by Alan McGovern <[email protected]>
These are a custom task-like object which can be used for async/await
with significantly fewer a...
The recent change to add the partial hash checking feature made this
test a little flakey. The m...