Ecosyste.ms: OpenCollective

An open API service for software projects hosted on Open Collective.

github.com/alanmcgovern/monotorrent

The official repository for MonoTorrent, a bittorrent library for .NET
https://github.com/alanmcgovern/monotorrent

[dht] Process all pending messages in one go

When doing our loop we should iterate over all available
messages and process them in one go.

e8d0468d749f9e1731f1b581ef5154ccd56e10f2 authored about 5 years ago by Alan McGovern <[email protected]>
[dht] Tweak how NodeId is handled

Enforce that NodeId objects are always valid 160bit values. As
a result of this I need to remove...

23e353e581dbf15aa29d714ecf695c8f2fbe7642 authored about 5 years ago by Alan McGovern <[email protected]>
[dht] Add a property exposing the capacity of the bucket

db473e98d4890d17ed18fd424bbb211f1d099d1d authored about 5 years ago by Alan McGovern <[email protected]>
[dht] Rewrite the initialise task to be more async

The task should be more optimal now as it sends FindNode requests
concurrently rather than seque...

286b27754a6ec303c580f38f197ece4afa015904 authored about 5 years ago by Alan McGovern <[email protected]>
[dht] Use auto props in DhtEngine for tidiness

58cb66140f0f6f886e9e0544f48d74ecf070da76 authored about 5 years ago by Alan McGovern <[email protected]>
[dht] Proxy operations to the DHT thread

This will simplify the threading concerns within the DHT logic.

629c5b28397586c034eff6c45ff34b7fe884ee26 authored about 5 years ago by Alan McGovern <[email protected]>
[dht] Start making this an async interface

347fe2e32635edd6327212d2d0bb886e5d0780a6 authored about 5 years ago by Alan McGovern <[email protected]>
Use a simpler round-robin connection algorithm

Store all the torrents in a LinkedList. If we successfully
connect to a peer for a given torrent...

b3d029b7bfbb85628fd620fe6f6577779c6fd5e0 authored about 5 years ago by Alan McGovern <[email protected]>
Update LocalPeerManager.cs

1bea7274cb6d81107046c99c6f0d22d14e087c0f authored over 5 years ago by Fritz Schmid <[email protected]>
[core] Make the ChangePicker method publicly usable

Now people can set custom piece pickers safely.

8968115dd3d68f82ed0898125ac80329726b973b authored over 5 years ago by Alan McGovern <[email protected]>
[build] Add GitInfo in order to populate the nuget props

Now we get git commit/branch info.

bba973d67a2f40bfeebff992a18df1bc7974f72b authored over 5 years ago by Alan McGovern <[email protected]>
Add a pack target

72e6402d6cbc184244b5b4177d9bf3adbee5bf23 authored over 5 years ago by Alan McGovern <[email protected]>
[build] Specify the FileVersion in the csproj

efe083a9471997e67b8bb96fcd305aafd68b3ae6 authored over 5 years ago by Alan McGovern <[email protected]>
[build] no unsafe code anymore!

46b614dac7d057dd7b8b80ed86358ba886257661 authored over 5 years ago by Alan McGovern <[email protected]>
Move MonoTorrent.Dht inside MonoTorrent again

be2ca600cdb8c04fbb3ae5a0338ebbb396e9918d authored over 5 years ago by Alan McGovern <[email protected]>
Ensure we always bail out when disposing a connection

One additional check to ensure we bail!

3a98fd26c9c63fa08aa95de2177aec217fbfe7b8 authored over 5 years ago by Alan McGovern <[email protected]>
[Client] Kill a useless test

We don't cancel requests from a fat peer, so faking it in a test
is pointless.

80e9d7ab4bf28d5067acf8806fc4ea542be148b9 authored over 5 years ago by Alan McGovern <[email protected]>
[Client] Simplify some async stuff

6ab66db6f69515c0afde558572ebe652f6fb3b6f authored over 5 years ago by Alan McGovern <[email protected]>
[Tests] Clean up some tests

2c6cd7d3cfd310307e367782cafbd352163670f2 authored over 5 years ago by Alan McGovern <[email protected]>
[Dht] Remove unnecessary ifdefs

It's a separate library, so strip it out if you don't
need/want it.

This separation is a relic ...

2ed3c5b988e4d97a7ea1144f72bcc53fc0cc81c3 authored over 5 years ago by Alan McGovern <[email protected]>
[Core] Finish async-ifying TorrentManager

ea5815bfdce3c45862745b6852a223f89fdf4dd5 authored over 5 years ago by Alan McGovern <[email protected]>
[Core] Don't use reflection to set the range

Maybe I was working around a bug before?

1c1e1b72936f47154bc3feeb1195f23ef4c3c3c0 authored over 5 years ago by Alan McGovern <[email protected]>
[Client] Clean up some stuff in SocketListener

449ed4fff7aa0035b7a389b314c8b7b49532fddf authored over 5 years ago by Alan McGovern <[email protected]>
[Client] Don't use a partial class here

3d3742078b52b5dc8b76df1c8a6b122a5ef437e5 authored over 5 years ago by Alan McGovern <[email protected]>
[Client] Clean up some hash checking code

Don't rely on events for normal codeflow within the
download engine.

ebb34e5b335ce73a71ee00a7a4fe067a7d3d1b16 authored over 5 years ago by Alan McGovern <[email protected]>
[Client] Set unhashedpieces properly

This is set after the piece is written to disk.

c292456b7d8821827bc9dbdcafb59da0c0842621 authored over 5 years ago by Alan McGovern <[email protected]>
[Client] Make it more async

ea3fbdbbf45d9534f30e384080515711958c5b48 authored over 5 years ago by Alan McGovern <[email protected]>
[Client] Be a little more thorough disposing WebRequests

We should ensure we dispose the Response as well as the
returned Stream as soon as we're done wi...

c285355c82041b76c9587fbd636115b3e34edc3f authored over 5 years ago by Alan McGovern <[email protected]>
[Client] Use async/await for handling disk errors

We should be able to rely on a simple 'await' to
write a piece of data, wait for the exeception ...

aec55d218f9967c0bb3d2fd4038bb38e3f9b62fb authored over 5 years ago by Alan McGovern <[email protected]>
[Client] Kill TrackerConnectionID

This was used to keep a basic state machine together so
we could announce to one tracker, and th...

74a88e969bce37c58ec4eaec4bc8bb6d8b4070c8 authored over 5 years ago by Alan McGovern <[email protected]>
[Core] TrackerManager should work on ITracker objects

Swap from 'Tracker' to 'ITracker'

9e22923b4b2ae18a47657aebbc8f33bce730f2e8 authored over 5 years ago by Alan McGovern <[email protected]>
[Client] Remove unused tracker events

697f6957abe1a57f25179bd9acb4cf4f86e5c63e authored over 5 years ago by Alan McGovern <[email protected]>
[Core] Make UDPTracker async/await

Huzzah

6e91f7e782449cd0b56e9dabf36ca78da76e1c7e authored over 5 years ago by Alan McGovern <[email protected]>
Add a gitattributes too

c22d47a8c1daac15164f40b71e8c19b87fdc957b authored over 5 years ago by Alan McGovern <[email protected]>
Add a mechanism to wait for pending writes to complete

Instead of force flushing all pending writes when we need
to hash check a piece, let's just wait...

e505b87872c7d28bb66e75fdede412086e78938a authored over 5 years ago by Alan McGovern <[email protected]>
Fix QueueTimeout so it queues on the right thread.

Oops :p

a0936728bc61118f138d4322e2596a853c27cba5 authored over 5 years ago by Alan McGovern <[email protected]>
Do not loop forever if we hit our disk io rate limits

Woo

d69b8447ff68dc3dc04c3dcc8000542d9f08770c authored over 5 years ago by Alan McGovern <[email protected]>
Add a DotNet Core sample, because why not

caac16cffd95749febe04c3f7cf22567c3e40432 authored over 5 years ago by Alan McGovern <[email protected]>
[Client] Properly handle sync/async Socket operations

If it completes synchronously then the callback won't
be invoked, so just return a completed task.

058d937c093f468891d13736d5d6b7efff7a1fac authored over 5 years ago by Alan McGovern <[email protected]>
[http] Clean up message parsing in HTTPConnection

38e49379e7ace71c6b018aebf94518f1073fcd84 authored over 5 years ago by Alan McGovern <[email protected]>
[Client] Accurately track protocol/data

Also we now never rate limit send invocations when sending
protocol. This ensures that protocol ...

0c157edeec74c384f8621ed9b2d046e35c8475aa authored over 5 years ago by Alan McGovern <[email protected]>
[Client] Make SpeedMonitor threadsafe

I want to pass this around instead of ConnectionMonitor, so we
can accurately track data versus ...

8e3e537fbd0b2ae92dd7600113a766d1dbddd5bb authored over 5 years ago by Alan McGovern <[email protected]>
Make these tests a little more async/await

e471688ba2e7e111dbca2231df403b6557fb8b86 authored over 5 years ago by Alan McGovern <[email protected]>
[Client] Use ipv4/ipv6 as the identifiers for connections

Small refactor to use a base class so all the optimisations
apply to both.

dc5c3d33d8601833db8f6576bec9b3ee46c3456a authored over 5 years ago by Alan McGovern <[email protected]>
[Metadata] If the metadata already exists, load it

Add tests

Fixes https://github.com/mono/monotorrent/pull/85

ab95159d9bcc6652bcd686cc87f167c7df8679bd authored over 5 years ago by Alan McGovern <[email protected]>
Fix magnet stuck on metadata when resuming

eb6a2aa9061a5a9b788d0cf73497c1a1c6a55d4a authored over 5 years ago by Aaron Simmonds <[email protected]>
Use a unicode literal here

Just in case the file isn't opened in UTF-8

Fixes https://github.com/mono/monotorrent/pull/84

8489bca7558427c5bd876c7391f88eb0414ffc63 authored over 5 years ago by Alan McGovern <[email protected]>
Merge pull request #70 from MultiPoolMiner/patch-9

Remove dependency on System.Reflection.Assembly

83fc57ecdd4b3e01d572ac375ba7434a1cd97c74 authored over 5 years ago by Alan McGovern <[email protected]>
[build] Fix warnings

58f3e52ba26adf019ee0659f4a1d6ac7100d9784 authored over 5 years ago by Alan McGovern <[email protected]>
[core] The tests set a null connection, so handle that

Meh

e339edd15ea93096da62c489556ccf787072a085 authored over 5 years ago by Alan McGovern <[email protected]>
[core] Set the timestamp correctly when creating torrents

It's all UTC!

Fixes https://github.com/mono/monotorrent/issues/89

65e3c2a118d18061c86ccf75fc5b7d63c6a30dce authored over 5 years ago by Alan McGovern <[email protected]>
[core] Don't throw unnecessary exceptions

If the port is -1 then don't try to create a connection.

Fixes https://github.com/mono/monotorr...

41db928b533ac20356e203e2a5a2ad9223c02fe0 authored over 5 years ago by Alan McGovern <[email protected]>
[Dht] Ensure the NodeID is always exactly 20 bytes

If we call BigInteger.GetBytes() we may end up getting a
shorter byte[] as the BigInteger may be...

beac51d69ff968c0daea6402a7455ae81864e82a authored over 5 years ago by Alan McGovern <[email protected]>
Update README.md

99fce59476817154fee4d79c966286fb47a6d512 authored over 5 years ago by Alan McGovern <[email protected]>
Update README.md

9a85131bb97cbc09714a28be8ee3fbdddc919a94 authored over 5 years ago by Alan McGovern <[email protected]>
Merge pull request #91 from mono/async-await

May the fourth be with you!

4b5435e7cc5c37e06d2dc89e7775b39879b5f9f0 authored over 5 years ago by Alan McGovern <[email protected]>
May the fourth be with you!

So I was kinda bored recently and was curious to see how things
would look if MonoTorrent were r...

d5b3423d617cf278e1c546368506650961ed4d70 authored over 5 years ago by Alan McGovern <[email protected]>
Merge pull request #69 from MultiPoolMiner/patch-8

Fix code format

5bfbc3859ad60aa718d64b29f03cea7ebee393f9 authored about 6 years ago by Sam Hocevar <[email protected]>
Merge pull request #68 from MultiPoolMiner/patch-7

Fix Code Format

1ae3c5a1e5ce699f9a07c82f02d3132fc4c078cd authored about 6 years ago by Sam Hocevar <[email protected]>
Merge pull request #67 from MultiPoolMiner/patch-6

Fix Code Format

41cdd91a50d47f3c97e90e6ba505ae8dd9b13162 authored about 6 years ago by Sam Hocevar <[email protected]>
Merge pull request #66 from MultiPoolMiner/patch-5

Fix Code Format

1891cbab6e58fff67d50ea8a5da6096a00bb44ee authored about 6 years ago by Sam Hocevar <[email protected]>
Merge pull request #63 from MultiPoolMiner/patch-2

Remove unsafe code

2870f3b1122ea47739d68de240ed50d65eb0202c authored about 6 years ago by Sam Hocevar <[email protected]>
Merge pull request #64 from MultiPoolMiner/patch-3

Remove unsafe code in DHT

1b9d42a19881fe6fed09d67c7c7f59c856670675 authored about 6 years ago by Sam Hocevar <[email protected]>
Merge pull request #65 from MultiPoolMiner/patch-4

Fix namespace

a9acc80cf9000d681f1109ef5310fd385c4ea377 authored about 6 years ago by Sam Hocevar <[email protected]>
Merge pull request #62 from MultiPoolMiner/patch-1

Fix https exception for GetRightHttpSeeds

0e72d4c91300d6d79d2f39d5f06004d3a31e3b0e authored about 6 years ago by Sam Hocevar <[email protected]>
Remove dependency on System.Reflection.Assembly

d07d811d94685931e4b56b58f36c1df2f65cf4e2 authored over 6 years ago by Aaron Simmonds <[email protected]>
Fix code format

c5f1d31038ef77e744777416a9e5bd08544fb619 authored over 6 years ago by Aaron Simmonds <[email protected]>
Fix Code Format

7e1a37a7c46ecbc0a7d6c555d52853711b8ca79b authored over 6 years ago by Aaron Simmonds <[email protected]>
Fix Code Format

e300a238c83a80b45da69cd89e5f4c9c2f297920 authored over 6 years ago by Aaron Simmonds <[email protected]>
Fix Code Format

c0dc759fa291c51ce134b8005943aa076675cb48 authored over 6 years ago by Aaron Simmonds <[email protected]>
Fix namespace

c689ba2818fab346c219d4b22f44e9b32638a08c authored over 6 years ago by Aaron Simmonds <[email protected]>
Remove unsafe code in DHT

64d6aee9bec3e89ae4256785cc7e083ba4b626b1 authored over 6 years ago by Aaron Simmonds <[email protected]>
Remove unsafe code

e1b4e773bb8c0e31eac91daa208b480a491a25b7 authored over 6 years ago by Aaron Simmonds <[email protected]>
Fix https exception for GetRightHttpSeeds

8783fe476bec96033d11463cdc6362057472e2fa authored over 6 years ago by Aaron Simmonds <[email protected]>
Merge pull request #54 from TheOriginalWinCat/fix-peer-download-rate-calculation

Fix SpeedMonitor Tick() logic. Fixes slow peer download speed #53

774a12494006acd21c117d36a9303732ac509139 authored over 7 years ago by Sam Hocevar <[email protected]>
When Tick is called only update the lastUpdated time if we actually updated.

Otherwise if we call tick at a rate lower than 800ms it will never update, resulting in a detect...

82d00d1716f886810471285245a001749cc2cdae authored over 7 years ago by tom <[email protected]>
Merge pull request #51 from dontnod/fix-dont-connect-to-self

Do not try to connect to ourselves as a peer.

9f184d1f75e83a5134cfb7d8e187e01dd8604384 authored almost 8 years ago by Sam Hocevar <[email protected]>
Merge remote-tracking branch 'origin/fix-regex-match'

6a7320674c66661d76aae23f64a22431521da98d authored almost 8 years ago by Sam Hocevar <[email protected]>
Merge pull request #46 from rcawston/master

Fix duplicate peer bug when peers first added after announce

f15f3bac61e24a623bf2e586d94f170de0a3754e authored almost 8 years ago by Sam Hocevar <[email protected]>
Do not try to connect to ourselves as a peer.

f1480ffb2be17c8dcc00874909a66471e7e7634e authored almost 8 years ago by Sam Hocevar <[email protected]>
Fix incorrect Regex.Match return value usage.

12f684e3f85bb0cae06f0a0686ab5e527eb21fc2 authored over 8 years ago by Sam Hocevar <[email protected]>
Use framework 4.5 when building with Mono.

As 4.x and 2.x cannot be installed side-by-side on Debian I decided
to bump this version by defa...

0b60100ff3aed2eb7774b700f32a61f7b94ff702 authored almost 9 years ago by Sam Hocevar <[email protected]>
Fix sed syntax and show xbuild invocation.

There is no reason to hide the xbuild command line if there is no easy
way to show it. It helps ...

53571e5e0242522dce04f912b1dfebd87f7d87fb authored almost 9 years ago by Sam Hocevar <[email protected]>
Fix duplicate peer bug when peers first added after announce

Prevents Available peer count from fluctuating wildly after an announce.
peerId is not set for n...

da82425de3a41dcd1c436a8ab1b54fb35bfee22a authored over 9 years ago by Ross Cawston <[email protected]>
Prevent a null reference exception when in MetadataMode

Manager.Torrent will be null until all metadata has been received.
We can modify the code to use...

3c201b9e3c68b33243a7af61678fb948a0189461 authored over 11 years ago by Alan McGovern <[email protected]>
Ignore 'AllowedFast' messages when i metadata mode

These messages are only useful once we have the torrent
metadata and know the number of pieces i...

fb3b4ce79be222fc302aba6517acded41de133df authored over 11 years ago by Alan McGovern <[email protected]>
Merge pull request #31 from SirCmpwn/master

Allow users to override default IConnection handlers

2b33886f7faa327a9b7c8285230da1d78ba4378a authored over 11 years ago by Alan McGovern <[email protected]>
Added .gitignore, allowed for users to override default IConnection handlers

948bc716917486fa27639e8a103ec6fb1d2711da authored over 11 years ago by Drew DeVault <[email protected]>
More url decoding

ffccdcaff773f2b61b02562fd2ead6687bff8479 authored over 11 years ago by Alan McGovern <[email protected]>
Add support for url encoded tracker urls. Test case included.

Conflicts:
src/MonoTorrent.Tests/Common/MagnetLinkTest.cs
src/MonoTorrent/Common/MagnetLink.cs

c1d12810e53cbfce054b90d244c08b9e44fd78dd authored over 11 years ago by Peter Sunde <[email protected]>
Merge pull request #30 from SirCmpwn/master

Don't notify broken trackers of Stop()

d26d6f097419f770cd16abf2c9933ce1646e065c authored over 11 years ago by Alan McGovern <[email protected]>
Fixed bug with stopping torrents

27b770b774219edaf6d0cdaf7b0ef70381c79697 authored over 11 years ago by Drew DeVault <[email protected]>
[TorrentEditor] Change a reference equality check to a value equality check

24a944dc6cebc9522c15ac2390c567d471a15838 authored over 12 years ago by Alan McGovern <[email protected]>
Merge pull request #15 from kellyelton/patch-1

Couple mistakes, like event delegate being registered in the wrong spot,...

36d3b44c50dad03da83351be5a3807354131e31d authored over 12 years ago by Alan McGovern <[email protected]>
Couple mistakes, like event delegate being registered in the wrong spot, and a lot of repeating, unnecessary code.

06fc43867cf49db0a8ec0354169de0a437d90eac authored over 12 years ago by kellyelton <[email protected]>
[MonoTorrent] Remove SHA1Fast as it's broken and was never used

ea8e3dccb05829a10e9b8ea6fd7ba93d18ae6cef authored over 12 years ago by Alan McGovern <[email protected]>
Add 'uninstall' as a phony target

533e9db0e9d709e59517473f841eb9a356ff9541 authored over 12 years ago by Alan McGovern <[email protected]>
Simplify the makefile build system so it uses xbuild instead

Also remove the rediculously complex autoconf/automake files and
use a much simpler configure/Ma...

cf4f7ee0c917f923ea360683c770a1b2bec42d24 authored over 12 years ago by Alan McGovern <[email protected]>
Bump to version 1.0.0

dff648155b79937187d83485b1ecedeaef775b4d authored over 12 years ago by Alan McGovern <[email protected]>
Fix makefile build.

8564ef97970620bd4d834c5c3fe007bf439ecdbf authored over 13 years ago by Alan McGovern <[email protected]>