Matt Joiner
87a033e074
Readers obtained from File.NewReader should not readahead into other Files
...
Fixes #221 . Additionally Torrent.length is a pointer and isn't set until the info is available to avoid it defaulting to zero.
2018-01-06 23:15:41 +11:00
Matt Joiner
9b718566ba
Add File.NewReader
...
Fixes #222
2018-01-06 16:37:13 +11:00
Matt Joiner
25cf92502d
Improve a log message
2017-12-28 23:58:07 +11:00
Matt Joiner
54a7d83c45
Log dropping of bad peers in debug mode only
2017-12-03 13:44:37 +11:00
Matt Joiner
27253eb0d0
Fix panic in Torrent.addrActive if there are closed connections
...
Fixes #214
2017-12-02 10:01:27 +11:00
Matt Joiner
47622fad36
Fix the Stats panic in #214
2017-12-02 09:58:08 +11:00
Matt Joiner
d77e939944
Synchronize access to storage
2017-12-01 23:09:07 +11:00
Matt Joiner
afa9d2ba28
Torrent.bytesLeft was taking a copy instead of pointer to Piece
2017-12-01 17:58:42 +11:00
Matt Joiner
2daa604eb2
Publish piece state changes after verifying piece
2017-12-01 14:03:05 +11:00
Matt Joiner
8f7720edb2
Merge commit '6ab65a49a8a72dea1a28968b2ab42a85fd4566ec'
...
# Conflicts:
# config.go
2017-11-08 20:23:15 +11:00
Matt Joiner
163a63f9a7
Torrent.Metainfo: Don't return incomplete metadata bytes
...
Fixes #208
2017-11-08 19:56:20 +11:00
Matt Joiner
3aa1e8f3ef
Add a test for behaviour after getting metadata_size and before GotInfo
...
#208
2017-11-08 19:31:10 +11:00
themihai
6ab65a49a8
feat(config): Allows the torrent client to customise the client identity and connection config
2017-11-07 20:14:13 +02:00
Matt Joiner
ff1bd84e7e
Fix #205
2017-11-08 00:34:59 +11:00
Matt Joiner
9757f04cf8
Apply megacheck to torrent package
2017-11-07 16:11:59 +11:00
Matt Joiner
2c6b842bbf
Remove noisy log message
2017-11-05 15:39:36 +11:00
Matt Joiner
361c8654c7
Add some TODOs
2017-11-05 15:39:35 +11:00
Samuel
3e74396c66
Aggressive Upload ( #203 )
...
* Aggressive Upload Config
* Aggressive Upload
* Flip config option.
* Flip Aggressive Upload Config Option
2017-11-05 14:04:33 +11:00
Matt Joiner
5d133ea387
Remove debug log message
2017-10-12 17:52:26 +11:00
Matt Joiner
dd083a4e11
Track completion known to implementation state
...
Addresses #193
2017-10-12 16:09:32 +11:00
Matt Joiner
17ea4f7fdd
Performance optimizations to calculating bytes left in Torrent
...
Was generating significant overhead in cmd/torrent
2017-09-23 15:28:13 +10:00
Matt Joiner
2c91d1e3fb
Changes to Bitmap referencing
2017-09-23 15:27:10 +10:00
Matt Joiner
6aad8041ab
Implement new request strategy
...
The new strategy, 2, has the fastest connection download by priority in order, and all other pieces stick to a randomized ordering that's stable per connection.
2017-09-23 15:25:47 +10:00
Matt Joiner
1f6a7eb810
It looks like Torrent.worstBadConn was returning an arbitrary bad connection, it wasn't the worst
...
heap.Init got lost somewhere along the way? Need a unit test for this.
2017-09-21 19:32:03 +10:00
Matt Joiner
bb53c97d38
Move uploading to the connection writer
2017-09-18 12:09:08 +10:00
Matt Joiner
ed0fa62340
Comment and formatting
2017-09-17 00:45:12 +10:00
Matt Joiner
69ffb9bc8d
Fix build error
2017-09-17 00:44:09 +10:00
Matt Joiner
846da66103
Merge pull request #188 from boramalper/KnownSwarm
...
added the initial version of the (t *Torrent) KnownSwarm() function
2017-09-17 00:20:00 +10:00
Bora M. Alper
a66b0e83f3
added support for half-open peers in KnownSwarm() function
2017-09-16 11:48:16 +01:00
Matt Joiner
b3137b1ede
Make type piece public
2017-09-15 19:35:16 +10:00
Matt Joiner
2aa20b3e22
Don't verify data at startup, add Torrent.Piece.VerifyData and Torrent.VerifyData for this purpose
...
This has the side effect of deflaking a lot of tests that race to verify data when a torrent is added.
2017-09-15 19:22:32 +10:00
Matt Joiner
b39df82fbc
Include peer data with half open connections
2017-09-15 19:10:09 +10:00
Bora M. Alper
f87b732959
added the initial version of the (t *Torrent) KnownSwarm() function
2017-09-12 15:22:53 +01:00
Matt Joiner
bad6f07f5e
Wrap writerCond in tickleWriter and be more selective about using it
2017-09-01 15:26:50 +10:00
Matt Joiner
13e79039f2
Generate requests, cancels and interest state in the connection writer
2017-08-31 23:48:52 +10:00
Matt Joiner
0388ec1eee
Synchronize Torrent.Info
2017-08-29 15:16:53 +10:00
Matt Joiner
a8a1ea755d
Remove unused functions
2017-08-26 13:23:04 +10:00
Matt Joiner
76c60ffa77
Try a state-delta function for updating request state
...
Also adds Torrent.networkingEnabled, though it isn't yet useful.
2017-08-18 01:51:02 +10:00
Matt Joiner
493916c279
Rename Torrent.connHasWantedPieces->connection.peerHasWantedPieces
2017-08-18 01:48:19 +10:00
Matt Joiner
824441efa0
Move logging inside client lock, for Torrent.String
...
Fixes #163
2017-07-01 16:01:38 +10:00
mlmhl
a3d231cb92
signal an event when torrent closed
2017-06-05 08:46:50 +08:00
Matt Joiner
296ef76c36
Tidy up the duplicate conn selection code
2017-05-26 13:00:28 +10:00
Matt Joiner
5bde8de95d
perf.Timer.Stop renamed
2017-05-26 13:00:28 +10:00
luffyma(马林)
d8023a5e39
bug fix: race condition between outgoing connection and incoming connection
2017-05-10 18:31:19 +08:00
Joe Lanford
0d19c72ea5
Added peer count stats to TorrentStats struct
2017-04-22 23:29:10 -04:00
Matt Joiner
ba3e798b5f
Fix a logging of metainfo.Hash
2017-02-24 21:56:23 +11:00
Matt Joiner
aa74d992d3
Don’t track the empty string, and ditch Torrent.announceList
2017-02-19 15:57:30 +11:00
Matt Joiner
350dd01ab9
Fix torrent status info hash hex
2017-02-16 20:10:32 +11:00
Matt Joiner
a959bdd0f8
Revert "Quick fix for missing MetaInfo.Announce everywhere with trackers"
...
This reverts commit b7a8d08bbf
.
2017-02-15 18:40:30 +11:00
Matt Joiner
b7a8d08bbf
Quick fix for missing MetaInfo.Announce everywhere with trackers
2017-02-13 22:28:42 +11:00