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

[tests] Update some tests to the new API

There's no need to manually call 'HandlePeerDisconnected' now.
This is called automatically as p...

github.com/alanmcgovern/monotorrent - 8188519484e6aa22316a2fc11074f6d0769124b4 authored about 2 years ago by Alan McGovern <[email protected]>
[core] Only have one HandlePeer[Dis]Connected method

This is a bit less ambiguous and confusing now. One
method is just for raising events, the other...

github.com/alanmcgovern/monotorrent - 4cf3ce46b57c17b2de6135d664f7d025e3eab674 authored about 2 years ago by Alan McGovern <[email protected]>
[core] Fix some build warnings

github.com/alanmcgovern/monotorrent - 77a8a03b6c07bf58e5a45451467f7a0f87625596 authored about 2 years ago by Alan McGovern <[email protected]>
Merge pull request #574 from alanmcgovern/maybe-fix-failure-on-build-pipeline

[tests] Stop the HttpListener as part of teardown

github.com/alanmcgovern/monotorrent - e3da4c22c4d966191b34cfa674365df3679df3df authored about 2 years ago by Alan McGovern <[email protected]>
[tests] Stop the HttpListener as part of teardown

Maybe there's a bug in the finalizer chain and it's
causing this crash during app shutdown:

The...

github.com/alanmcgovern/monotorrent - 92b77f0b13bdadc8a764d096d5d14fa66ba61992 authored about 2 years ago by Alan McGovern <[email protected]>
Merge pull request #572 from alanmcgovern/fix-tracker-announce-concurrency

[core] Refactor how announce requests are handled.

github.com/alanmcgovern/monotorrent - 72339231604f236d1d5e78e81b14c4ab5e7fbe11 authored about 2 years ago by Alan McGovern <[email protected]>
[tests] Add tests covering the previous changes

github.com/alanmcgovern/monotorrent - b78a3604a431303ee1acb797b4444c83fd62a7e7 authored about 2 years ago by Alan McGovern <[email protected]>
[core] Allow 15 concurrent tracker requests

github.com/alanmcgovern/monotorrent - 01572c0b4b273f74b0a63cf0e1113310b1935332 authored about 2 years ago by Alan McGovern <[email protected]>
[core] Refactor how announce requests are handled.

This should prevent unbounded memory usage by ensuring
all 'periodic' announces fast-path and ex...

github.com/alanmcgovern/monotorrent - bf051d8f310454d9a1cbc5b8930b79ebdbd55339 authored about 2 years ago by Alan McGovern <[email protected]>
Merge pull request #568 from alanmcgovern/handle-timeouts-requesting-metadata

Handle timeouts requesting metadata

github.com/alanmcgovern/monotorrent - 420cb93d06d41e7c30609aceefdb8eade654f074 authored about 2 years ago by Alan McGovern <[email protected]>
[tests] Ensure tests don't hit upnp port forwarding

These are short running tests, so don't bother init'ing
port forwarding support or DHT.

github.com/alanmcgovern/monotorrent - e4fd8fb769ed9b115a45abc01d175c127e0d9cc2 authored about 2 years ago by Alan McGovern <[email protected]>
[core] Fix a race condition in the new tests

It's possible for the state to be 'Downloading' and
for 100% of the file to have been downloaded...

github.com/alanmcgovern/monotorrent - 5ae9852be48b7d1f04cb44373f334e914b9f70c0 authored about 2 years ago by Alan McGovern <[email protected]>
[tests] Fix the integration tests to run on my computer

Bind directly to 127.0.0.1 instead of using +.

github.com/alanmcgovern/monotorrent - 077e9ee6c56657499139dc3dc5c01c268c4d33a6 authored about 2 years ago by Alan McGovern <[email protected]>
[core] Simplify (re)setting LastBlockReceived

This should be accurately tracked in the 3 places it's used.

github.com/alanmcgovern/monotorrent - 192f29e2a210aee3226fa462f44f2aa5c23727ce authored about 2 years ago by Alan McGovern <[email protected]>
[core] Ensure timeouts apply for MetadataMode and PieceHashesMode

If a block is requested from a peer when fetching metadata, or
when fetching the piece hashes of...

github.com/alanmcgovern/monotorrent - 49d5a6b5211a9b5eb655ea3ee639d406404cb557 authored about 2 years ago by Alan McGovern <[email protected]>
Merge pull request #567 from borigas/IntegrationTests

Integration tests

github.com/alanmcgovern/monotorrent - 4269be6f3049e0367dcf173bec298a9e2a35d91e authored about 2 years ago by Alan McGovern <[email protected]>
[core] Simplify (re)setting LastBlockReceived

This should be accurately tracked in the 3 places it's used.

github.com/alanmcgovern/monotorrent - 145b5df1cf63679d06e835e829b76ca91c54c62e authored about 2 years ago by Alan McGovern <[email protected]>
[core] Ensure timeouts apply for MetadataMode and PieceHashesMode

If a block is requested from a peer when fetching metadata, or
when fetching the piece hashes of...

github.com/alanmcgovern/monotorrent - dc319770a649801e988928445e7d98a3464820b4 authored about 2 years ago by Alan McGovern <[email protected]>
[core] Remove PieceRequesterSettings.IgnoreChokeState

This was a hack which shouldn't be in the public API.
There are (now!) two cases where we need a...

github.com/alanmcgovern/monotorrent - 70a00ac28b48f8235e8247b1d5fb45c5fe410c3f authored about 2 years ago by Alan McGovern <[email protected]>
Fix seeding assert

github.com/alanmcgovern/monotorrent - 77c45a9aa402222fb93d33b51a245332f771fce7 authored about 2 years ago by Ben Origas <[email protected]>
Set cache dir

github.com/alanmcgovern/monotorrent - 083e9d98c22f10ead96443426935b324bf365264 authored about 2 years ago by Ben Origas <[email protected]>
Add checks for implicit hash check

github.com/alanmcgovern/monotorrent - b7adf31b842dc97151f110a9ed98d2fbd10e90b8 authored about 2 years ago by Ben Origas <[email protected]>
Initial integration tests

github.com/alanmcgovern/monotorrent - 6e03e3d222f7e599453244598467393abd369017 authored about 2 years ago by Ben Origas <[email protected]>
Merge pull request #565 from alanmcgovern/more-fixes-for-empty-files

More fixes for empty files

github.com/alanmcgovern/monotorrent - 169865c26ce0e62b576f2f4cfc89c21978278775 authored about 2 years ago by Alan McGovern <[email protected]>
[core] Always create empty files when starting a torrent

Empty files are always created on disk as part of starting
the torrent. This simplifies some of ...

github.com/alanmcgovern/monotorrent - 3e04af0291571a40a2e9da252803bd029a9f487a authored about 2 years ago by Alan McGovern <[email protected]>
Files with no content should have no piece root.

WHen checking the hash of piece 0, we should skip past files
with a length of 0. This is importa...

github.com/alanmcgovern/monotorrent - 82160bfc95021ca39812038c50532e171b61cfd7 authored about 2 years ago by Alan McGovern <[email protected]>
[core] Add a comment explaining why empty dicts are ok

The spec requires a dictionary to be there, even if it's empty.
qBittorrent also includes an emp...

github.com/alanmcgovern/monotorrent - bec6559af4437d6551d92876ad5a00afad6aeb0b authored about 2 years ago by Alan McGovern <[email protected]>
[core] Remove a sanity check which doesn't make sense anymore

Both BEP47 (padding files) and BEP52 (BitTorrent V2) introduce the
ability to request blocks whi...

github.com/alanmcgovern/monotorrent - 48f00e6d57b3d0ece45862b4324ab64f2c043da7 authored about 2 years ago by Alan McGovern <[email protected]>
[core] Sort files before creating hybrid or v2 torrents

As the underlying storage is a bencoded dictionary, whose
keys must be sorted, you *must* sort t...

github.com/alanmcgovern/monotorrent - 3d3937dbdfe44a81923db9d04c25c9c6a1ee0296 authored about 2 years ago by Alan McGovern <[email protected]>
Merge pull request #562 from alanmcgovern/fix-560-zero-length-files-v2

[bep52] Fix creating v2 torrents with zero length files

github.com/alanmcgovern/monotorrent - eed0a6ef6d3f8cba553a46a2918d95d98aabe8ed authored about 2 years ago by Alan McGovern <[email protected]>
[bep52] Fix creating v2 torrents with zero length files

Zero length files should not have a root hash as they have
no data. Skip them!

Fixes https://gi...

github.com/alanmcgovern/monotorrent - 18a7e84b8d37867967fa101cf627a3c64397d06b authored about 2 years ago by Alan McGovern <[email protected]>
[bep52] Set the v2 infohash when the first file is empty

The previous logic did not take into account the fact that
the first file could be empty, in whi...

github.com/alanmcgovern/monotorrent - 7c8cf1cd4b5e0a12512e130b0a916914d5d2d412 authored about 2 years ago by Alan McGovern <[email protected]>
[core] Correctly write the bittorrent v2 version attribute

This should be in the 'info' dictionary so it's part of
the infohash.

github.com/alanmcgovern/monotorrent - 00dedcb91d030d716bd7d38b28d8e8c4f64ce66a authored about 2 years ago by Alan McGovern <[email protected]>
[core] Ban torrents with length 0

libtorrent also refuses to create torrents when all selected files have
a length of zero. As suc...

github.com/alanmcgovern/monotorrent - 5f86349ad8c10153ed36dcd3c14d2b30376e6aad authored about 2 years ago by Alan McGovern <[email protected]>
[core] Properly clean up disconnected peers from the UnchokeManager

When peers are disposed, their message queue is also disposed, which
forbids new messages from b...

github.com/alanmcgovern/monotorrent - 907c4aab786570e32e3fd81d16e1ae7d4afee817 authored about 2 years ago by Alan McGovern <[email protected]>
[core] Use the .NET5 runtime feature to allocate pre-pinned arrays

All of these arrays end up pinned as they're used for FileStream
or Socket reads/writes.

By all...

github.com/alanmcgovern/monotorrent - 1e7b28bc3f2f395fbb0d482cb31440f4b1dc4a0f authored about 2 years ago by Alan McGovern <[email protected]>
[samples] Just load the filepath directly into the engine

It's better for samples to do things in the blessed way so that
people who replicate samples get...

github.com/alanmcgovern/monotorrent - 647ed21505a4b94862c157b648929e35c656db37 authored about 2 years ago by Alan McGovern <[email protected]>
[core] Don't constantly create unnecessary IPAddress objects

We just want the octets of the ipaddress written to a Span<byte>
in network order. It's not hard...

github.com/alanmcgovern/monotorrent - 81e4a9ea72ef1f00be11fd957dd41539ee46be09 authored about 2 years ago by Alan McGovern <[email protected]>
[samples] Update the sample client to Mono.Net 3.0.4

github.com/alanmcgovern/monotorrent - 0a33930856d3af802cabe483eac341d2bc6fa131 authored about 2 years ago by Alan McGovern <[email protected]>
[core] Try to enqueue fewer async tasks

Enqueue tasks in a List<T> rather than enqueuing them
with the threadpool. Should be slightly mo...

github.com/alanmcgovern/monotorrent - 4fe509fdf7a191c208161895dc0339c7cb9fad8c authored about 2 years ago by Alan McGovern <[email protected]>
[core] Add tests for the peer exchange changes

github.com/alanmcgovern/monotorrent - 4c96cffcb7d22468c1abcc66f388068594149e9f authored about 2 years ago by Alan McGovern <[email protected]>
Improve peer message cache logic

github.com/alanmcgovern/monotorrent - c49ad333051313bcaf1c4b777bf472c2cff3a9a1 authored about 2 years ago by Alan McGovern <[email protected]>
Merge pull request #558 from alanmcgovern/small-perf-and-memory-optimisations

Small perf and memory optimisations

github.com/alanmcgovern/monotorrent - d63ceddd0cf271aeb08ed6a7a6fe07188bc7c79b authored about 2 years ago by Alan McGovern <[email protected]>
[core] Replace a dictionary with a generic cache

The power of type specialisation turns this dictionary lookup into
a simple method call. Zoom.

github.com/alanmcgovern/monotorrent - c84938b92773fa3795a302763828217a1e82c93c authored about 2 years ago by Alan McGovern <[email protected]>
[core] Rename the containing file

github.com/alanmcgovern/monotorrent - 517ee0f9d24bd673294c779b83e8f7bdb367e92f authored about 2 years ago by Alan McGovern <[email protected]>
Update the stress test for the new API

github.com/alanmcgovern/monotorrent - 021633200763c03b8577871558b8cedb5db0e647 authored about 2 years ago by Alan McGovern <[email protected]>
[core] Use Span methods to create allowed fast sets

github.com/alanmcgovern/monotorrent - 21ec3afc8715170c07dd448138ad68aaac66e7d7 authored about 2 years ago by Alan McGovern <[email protected]>
[core] Add a proper Equals/GetHashCode override for this

We use List.Remove so we should ensure that we have a proper
Equals method so we don't fall back...

github.com/alanmcgovern/monotorrent - 0b28518bc7e3b577f155e26b928cf83f87d24676 authored about 2 years ago by Alan McGovern <[email protected]>
[messaging] Use an AllowedFastBundle

github.com/alanmcgovern/monotorrent - 7ff2ee869c8cca4fa185e8f7f608bc5cc6a4aece authored about 2 years ago by Alan McGovern <[email protected]>
[piecepicking] Use a HashSet rather than out IList in the API

If we want a collection of the distinct peers which a piece was
fetched from, we should just use...

github.com/alanmcgovern/monotorrent - 90e89d540c1909a5ff96ca5a7bb4da96e38b25a3 authored about 2 years ago by Alan McGovern <[email protected]>
[core] Refactor IPiecePicker to return bools and use out variables

This makes things a bit more consistent. The most common usecase
of this was to check if the nul...

github.com/alanmcgovern/monotorrent - 772484f0d81c5031b3410f0a76355a362764dd8c authored about 2 years ago by Alan McGovern <[email protected]>
[core] Remove a dead variable

github.com/alanmcgovern/monotorrent - fcbb849fa7781115947930dd0d9f016dce96ba58 authored about 2 years ago by Alan McGovern <[email protected]>
Merge pull request #557 from alanmcgovern/update-filestreamcache

Tidy up DiskWriter

github.com/alanmcgovern/monotorrent - 95d482389e71baf36ec67d572e3aaaf15fb6117e authored about 2 years ago by Alan McGovern <[email protected]>
[core] Compile net6.0 versions of some libraries

github.com/alanmcgovern/monotorrent - 7dc4779641b85d20f439434fee47351952dcac96 authored about 2 years ago by Alan McGovern <[email protected]>
[piecepicking] Use PieceSegment instead of BlockInfo

Piecepicking works on segments, not blocks. They just care about
how many blocks there are in ea...

github.com/alanmcgovern/monotorrent - c4770dc71c38803fc174a40fe82bb34f3e7021e6 authored about 2 years ago by Alan McGovern <[email protected]>
[piecepicking] Hide these extension methods

They're only used by tests

github.com/alanmcgovern/monotorrent - 68b8fea43623f416f5b89aa3919569bb3a4bc45e authored about 2 years ago by Alan McGovern <[email protected]>
[bencoding] Use a readonly struct

Clean up the API a little

github.com/alanmcgovern/monotorrent - 6eb7fce2fc9c8a57bdb02ead99853c7cd16ae0cd authored about 2 years ago by Alan McGovern <[email protected]>
[core] Emit 'Hashed' events from TorrentCreator

Fixup from prior reworking of this class.

github.com/alanmcgovern/monotorrent - cf278cdd2618e973ae2ea97a5663a0a3e538d110 authored about 2 years ago by Alan McGovern <[email protected]>
Add a downloads badge too

github.com/alanmcgovern/monotorrent - 70fa6e8b6bb6640fa0d884bce263b5b8b68989b0 authored over 2 years ago by Alan McGovern <[email protected]>
Update NuGet badges too

github.com/alanmcgovern/monotorrent - a8ab485858cd90293f047286a6571c2e6e3da982 authored over 2 years ago by Alan McGovern <[email protected]>
Update the badges

github.com/alanmcgovern/monotorrent - 6028eef19a9b49a7ef2c93876bd844baf3fa6244 authored over 2 years ago by Alan McGovern <[email protected]>
Set up CI with Azure Pipelines yaml

Migrate to a yaml based solution [skip ci]

github.com/alanmcgovern/monotorrent - b2fa7469cb984fa09a4bbff833c304866f5170ce authored over 2 years ago by Alan McGovern <[email protected]>
[core] Push a change to the sample

github.com/alanmcgovern/monotorrent - b9d8681451ebbbcf34cdc9876d672065fd43f230 authored over 2 years ago by Alan McGovern <[email protected]>
[core] Improve primary/secondary piece cancellation requests

Fix a bug whereby the 'most recent request' wasn't cleared correctly
if two peers were tasked wi...

github.com/alanmcgovern/monotorrent - 16d7a26be12b662ef4fab27d7339813c70cd84b7 authored over 2 years ago by alan.mcgovern <[email protected]>
[samples] Update the vlc path

This works for me :)

github.com/alanmcgovern/monotorrent - 748aef04f3873348fd40389ff8f0c0631999bc72 authored over 2 years ago by alan.mcgovern <[email protected]>
[core] Fix some cleanup code

We should cancel all pending requests before disposing the message
queue.

github.com/alanmcgovern/monotorrent - 90cdd8a806aaab5d0767cd9d1c4994176d5d4b21 authored over 2 years ago by alan.mcgovern <[email protected]>
[core] Use a string based HTTP prefix

Also expand the API for IUriStream/IHTTPStream to better support
using + or * as part of the HTT...

github.com/alanmcgovern/monotorrent - 63dc93c549964ef993109b39094eb7cc55511743 authored over 2 years ago by alan.mcgovern <[email protected]>
Merge pull request #549 from alanmcgovern/configurable-http-prefix

[core] Make the Http streaming uri configurable

github.com/alanmcgovern/monotorrent - 888e39a62a5724d1c673f3326bf2ac06b42fd04f authored over 2 years ago by Alan McGovern <[email protected]>
[core] Make the Http streaming uri configurable

THe library can now be configured to use any ip or port when
setting up the HttpListener to serv...

github.com/alanmcgovern/monotorrent - 220efd2386889f69fc2fcacf53f4820ca65e38fd authored over 2 years ago by Alan McGovern <[email protected]>
[tests] Change an async void -> async Task

Fixes a buggy test.

github.com/alanmcgovern/monotorrent - beb6930ce1f568c6b7d1ee803b43eb3034b7945b authored over 2 years ago by Alan McGovern <[email protected]>
[core] target .net5 first

This will make the framework version selector automatically
choose 5.0 when working within the IDE.

github.com/alanmcgovern/monotorrent - 6ab286b143395172a7c66414abd3ed0ee2c84a2a authored over 2 years ago by Alan McGovern <[email protected]>
Update dependencies

github.com/alanmcgovern/monotorrent - 542fed2c434325e46f69fe6ffe1336b9f5a3e20c authored over 2 years ago by Alan McGovern <[email protected]>
Prepare the first beta release

github.com/alanmcgovern/monotorrent - 224728409d7a183cabb68a3c5cf2cfaf79123a09 authored over 2 years ago by Alan McGovern <[email protected]>
[core] Fix some null warnings

github.com/alanmcgovern/monotorrent - f3d05ffe4d3a6c94163f2bb86542411612e612d4 authored over 2 years ago by Alan McGovern <[email protected]>
[core] misc cleanups

github.com/alanmcgovern/monotorrent - 9b3a29687fd25b2f044324833bf16212117587e5 authored over 2 years ago by Alan McGovern <[email protected]>
Merge pull request #547 from alanmcgovern/cache-v2-hashes

[core] Cache bittorrent v2 hashes after retrieving them

github.com/alanmcgovern/monotorrent - e78ebfa66f0926642b715ab3e91fafc49b5b7cc8 authored over 2 years ago by Alan McGovern <[email protected]>
[core] Cache bittorrent v2 hashes after retrieving them

If a V2 (or hybrid) magnet link is used and the v2 hashes are missing,
then we will fetch them f...

github.com/alanmcgovern/monotorrent - 57047c8a67e05b9641047a2829f13b25ff95f1b9 authored over 2 years ago by alan.mcgovern <[email protected]>
Merge pull request #546 from alanmcgovern/dht-fix

[dht] Fix a DHT initialization issue

github.com/alanmcgovern/monotorrent - 56d4bcc4d95cdcf93cd1117e5e4c93b53f521f51 authored over 2 years ago by Alan McGovern <[email protected]>
[dht] Fix an initialization issue

Handle adding nodes to the engine before calling StartAsync.

github.com/alanmcgovern/monotorrent - 36ae567e32112d9f51cf75e827da4490a72d3a87 authored over 2 years ago by Alan McGovern <[email protected]>
[tests] Make this a little simpler

github.com/alanmcgovern/monotorrent - 848d1ad06a0c2364f645d1c25e7e3b4c1ca38458 authored over 2 years ago by Alan McGovern <[email protected]>
[core] Add tests covering MessageQueue disposing

Further tweaks to message queue to finally add the disposes
which are needed to avoid losing buf...

github.com/alanmcgovern/monotorrent - 1a78f84cf8c1021225321d0fa4643003be4c52f0 authored over 2 years ago by Alan McGovern <[email protected]>
[core] Put ReusableTaskCompletionSources back in the cache

Oops :)

Now these are cached correctly!

github.com/alanmcgovern/monotorrent - e49ee9773dd8f76c37e706fd3af4247de3204bfa authored over 2 years ago by Alan McGovern <[email protected]>
[core] Clean up some caches when needed

Ensure we don't keep peer info alive forever at the end
of a cached/reused array.

github.com/alanmcgovern/monotorrent - 85fe57ac4aeb2fe7019b9f18235d9ea47a7b15b7 authored over 2 years ago by Alan McGovern <[email protected]>
[core] Release all messages when closing connections

If there are any pending sends/receives, ensure we dispose
them and release them back to their c...

github.com/alanmcgovern/monotorrent - a66c5f95b7c635fa81fcd3fc0d0c81df112b2bdf authored over 2 years ago by Alan McGovern <[email protected]>
[core] Send have messages every 5 seconds

We can glob these together so we don't send N messages twice
every second.

github.com/alanmcgovern/monotorrent - feccc7fbb543046fa5647ca408290c1e012e9ce8 authored over 2 years ago by Alan McGovern <[email protected]>
[core] Disable an unnecessary test

github.com/alanmcgovern/monotorrent - 561369b72ceef420227d9e86e5955475a2a52f73 authored over 2 years ago by Alan McGovern <[email protected]>
[dht] Announce V1 and truncated V2 infohashes to DHT

This ensures that the delayed announce, the one that
occurs when the engine completes initializa...

github.com/alanmcgovern/monotorrent - 9902cf52a4b7d332715bd003ab4bc11a03dc183e authored over 2 years ago by Alan McGovern <[email protected]>
[core] Support V1 and V2 encrypted connections

Both the V1 hash and the truncated V2 hash should be addded
as skeys.

github.com/alanmcgovern/monotorrent - 88789cd7f3f172790177bb24187bf93aee9a7a92 authored over 2 years ago by Alan McGovern <[email protected]>
[core] Support checking the length of v1 and v2 pieces

For hybrid torrents we will need to be able to distinguish
between V1 and V2 pieces.

V1 peers c...

github.com/alanmcgovern/monotorrent - 4cb2449c86fda2877bcc7e6a761d7ed2b26fbf56 authored over 2 years ago by Alan McGovern <[email protected]>
[core] Add the ability to expand infohashes to full V2 hash

If we receive a truncated infohash we should have an easy way
to expand it into the full 32byte ...

github.com/alanmcgovern/monotorrent - d8c1b3529eb80ecd9555ee316c38d3caf58af6f6 authored over 2 years ago by Alan McGovern <[email protected]>
[core] Hide 'Peer' internally

Rely on PeerInfo as the public interface for peers which have
no active connection.

PeerId is s...

github.com/alanmcgovern/monotorrent - fc64c0192d88ae823d082566fcd84da7f049aef3 authored over 2 years ago by Alan McGovern <[email protected]>
[dht] Fix some threading issues in DHT

Add some DEBUG only thread checks to ensure that dht related
tasks are really executing on the c...

github.com/alanmcgovern/monotorrent - a4a61b6d42db5685a364c522ac571040713aded7 authored over 2 years ago by Alan McGovern <[email protected]>
Merge pull request #544 from alanmcgovern/faster-torrent-creator

[core] Optimise TorrentCreator performance

github.com/alanmcgovern/monotorrent - 7ccfa968b344986acad6392a710f2ac6b9270b4f authored over 2 years ago by Alan McGovern <[email protected]>
[core] Optimise TorrentCreator performance

Use some fancier threading here to ensure disk IO happens in
parallel with hashing data.

github.com/alanmcgovern/monotorrent - e30b8bf179fcc0274dd4bb3e9fa5864f1a85bfe1 authored over 2 years ago by Alan McGovern <[email protected]>
[core] Fix a threading issue when caching reads

We need to be on the correct thread for this. Do not use a
ConfigureAWait (false) or there will ...

github.com/alanmcgovern/monotorrent - 388aacff7644a2e6c21d79bddbc8be176e4d3b67 authored over 2 years ago by Alan McGovern <[email protected]>
[core] Add a zero-contention fastpath to ReusableExclusiveSemaphore

Increment a count when the lock is acquired, and decrement it when
it's released.

If the lock i...

github.com/alanmcgovern/monotorrent - c7a12ec9660eb9bd16f474fc300d36bf428369a2 authored over 2 years ago by Alan McGovern <[email protected]>
[core] Simplify calculating merkle roots

Add a simple method to calculate and return the merkle root
of a given set of hashes.

github.com/alanmcgovern/monotorrent - 67efca5268e9baba48a27d3d3a3e15f79ba5090e authored over 2 years ago by Alan McGovern <[email protected]>
Identify BEP 47 and BEP 52 as being supported

github.com/alanmcgovern/monotorrent - ae314f5d19c7e751fe850af72cd6b2cc8b98e317 authored over 2 years ago by Alan McGovern <[email protected]>
Merge pull request #543 from alanmcgovern/test-hasher-changes

Add support for creating V1/V2 hybrid torrents, and V2 torrents

github.com/alanmcgovern/monotorrent - c8cc7f03cc235cb4e80d4af2867728a837e27b70 authored over 2 years ago by Alan McGovern <[email protected]>