2
0
mirror of synced 2025-02-24 14:48:27 +00:00

205 Commits

Author SHA1 Message Date
Matt Joiner
a6cecc6b5f missinggo.Sort->SortSlice 2016-07-07 14:14:59 +10:00
Matt Joiner
240abaf512 Add Torrent.SetMaxEstablishedConns 2016-07-06 00:42:16 +10:00
Matt Joiner
326b36545b Prepare to allow max conns per torrent to be configured 2016-07-05 16:23:17 +10:00
Matt Joiner
12191dbfa3 Add counters for uploads
Fixes #71.
2016-07-05 15:52:33 +10:00
Matt Joiner
12486412b3 Remove redundant check in Torrent.SetInfoBytes 2016-06-27 15:46:43 +10:00
Matt Joiner
afc76861e0 Throw away Torrent display name when info becomes available 2016-06-27 15:46:27 +10:00
Matt Joiner
b84298351a Move a few methods to Torrent, and track how many DHT announces occur
I suspect that DHT announces may occur too regularly, or without a break for torrents that aren't able to get over the lower water pending peer mark.
2016-06-15 15:29:47 +10:00
Matt Joiner
c2bdb31bb3 Client.announceTorrentDHT -> Torrent.announceDHT 2016-06-15 15:13:53 +10:00
Matt Joiner
d8dc3ad239 Torrent.MetaInfo: don't crash if info isn't available yet 2016-05-23 20:08:18 +10:00
Matt Joiner
56a89905b6 Update Torrent.wantPeersEvent when info is obtained 2016-05-23 11:11:56 +10:00
Matt Joiner
c6ec935e53 Update Torrent.wantPeersEvent in several places 2016-05-23 10:19:14 +10:00
Matt Joiner
512aa7ede4 Don't start tracker scrapers if trackers are disabled 2016-05-22 23:44:08 +10:00
Matt Joiner
20870ec4ff Rework torrent tracker scraping
New scrapers are added anytime trackers are added to a torrent. In the future they will also be stopped as soon as they're removed. All trackers are concurrently scraped, the old-style of sticking to one tracker that works is abandoned for now.
2016-05-22 22:45:08 +10:00
Matt Joiner
8cdcbe9d40 Fix the tracker method receivers and names 2016-05-19 23:58:00 +10:00
Matt Joiner
7600ac70e3 Move torrent tracker methods into torrent.go 2016-05-19 22:49:37 +10:00
Matt Joiner
02ea8b1081 Rename storage.I->Client 2016-05-16 21:50:43 +10:00
Matt Joiner
6f470a2d02 Don't log missing files during hashing 2016-05-16 19:50:46 +10:00
Matt Joiner
c0283d3314 Return an error from Torrent.setMetadataSize
This should mean connections sending ridiculous metadata sizes get dropped.
2016-05-16 18:48:56 +10:00
Matt Joiner
d2951c6c4b Move requestPendingMetadata onto connection from Client 2016-05-16 18:46:38 +10:00
Matt Joiner
2b46a17b39 Bit of a tidy in the tracker code 2016-05-12 12:43:37 +10:00
Matt Joiner
528836ab4c Get rid of obsoleted Torrent.ceaseNetworking, and clean up Torrent.closing 2016-05-11 21:44:55 +10:00
Matt Joiner
a45a09b877 Rework setting of info bytes 2016-05-09 15:47:39 +10:00
Matt Joiner
2d160b0419 metainfo.InfoEx.Hash becomes a function, UpdateBytes is added, and Bytes used in marshalling
Fixes #80.
2016-05-05 22:40:38 +10:00
Matt Joiner
f6b83130c9 Move a bunch of Torrent methods from client.go 2016-05-03 16:47:11 +10:00
Matt Joiner
28c9ec2bd1 Some changes to metainfo.InfoEx and testutil 2016-04-30 11:07:29 +10:00
Seth Hoenig
9f4bf70e17 refactor struct identifiers to follow conventional go names 2016-04-18 23:11:11 -05:00
Matt Joiner
da4d40ed7e Merge all our global consts and vars into global.go
For easier referral to other parties.
2016-04-14 17:19:07 +10:00
Matt Joiner
48871324f4 Comments and logs around bad metadata size 2016-04-07 19:13:51 +10:00
Matt Joiner
49a3c87a53 Fix possible deadlock 2016-04-04 20:39:57 +10:00
Matt Joiner
82ee860e8d Apply unconvert linter 2016-04-04 15:28:25 +10:00
Matt Joiner
1566e2afdc Remove deadcode 2016-04-04 15:18:51 +10:00
Matt Joiner
b80bb6393a Use metainfo.Hash for piece and info hashes 2016-04-04 13:01:31 +10:00
Matt Joiner
d3a1c79c79 Merge Torrent and torrent types 2016-04-03 18:40:43 +10:00
Matt Joiner
501ae0c98c Comments 2016-04-03 16:52:52 +10:00
Matt Joiner
08830b97a1 Make everything on type torrent private 2016-04-03 16:50:53 +10:00
Matt Joiner
bc8fb2a165 If we fail to write to a piece, check its completion state 2016-04-03 16:36:57 +10:00
Matt Joiner
a5b54f21a1 Make opening a torrent in storage an explicit method
This is storage types where opening can fail, like mmap
2016-03-28 22:40:29 +11:00
Matt Joiner
775cf53809 Get mmap storage working 2016-03-28 21:57:04 +11:00
Matt Joiner
b97b50aca9 New storage interface 2016-03-28 20:38:30 +11:00
Matt Joiner
bb04cb8843 Tidy up bytesLeft calculations
This should fix a bug where completion is shown as negative in WriteStatus
2016-03-22 13:11:36 +11:00
Matt Joiner
e2ffcd008b Add t.bytesLeftAnnounce
Now it's safe to remove tracker specific bytesLeft contract
2016-03-22 09:06:48 +11:00
Matt Joiner
61af11fddc Off by one error in torrent.pieceLength? 2016-02-21 17:25:47 +11:00
Matt Joiner
5b443fb63d Refresh all piece completion states when data is missing 2016-02-21 17:24:59 +11:00
Matt Joiner
e20858a1e8 Move dataReadAt to torrent.readAt, and do the waitNoPendingWrites check there 2016-02-21 03:32:59 +11:00
Matt Joiner
dcdf85a474 Ditch the torrent stateMu for the client mutex 2016-02-21 03:31:50 +11:00
Matt Joiner
f6472fc1fd Code comment 2016-02-20 14:41:04 +11:00
Matt Joiner
d5f888069f Ditch Data.WriteSectionTo, and fix cmd/torrent-verify 2016-02-18 11:45:31 +11:00
Matt Joiner
589ab02dc4 Ensure piece completion state is correct at startup 2016-02-17 17:20:21 +11:00
Matt Joiner
73208b97ca Code comments 2016-02-17 17:09:43 +11:00
Matt Joiner
0f9f7ba01b Add torrent.completedPieces bitmap
Reduce load on data.PieceComplete for torrents with lots of pieces, when reader position changes. Not sure of the improvement yet.
2016-02-17 00:00:55 +11:00