1
0
Fork 0
mirror of https://github.com/transmission/transmission synced 2024-12-28 18:48:48 +00:00
Commit graph

457 commits

Author SHA1 Message Date
Charles Kerr
bfee506ff4 Move the initial fastresume check into the thread that creates the torrent, rather than in the torrent's worker thread 2007-07-01 19:10:14 +00:00
Charles Kerr
432c26d353 Fix makemeta infinite loop reported by BentMyWookie 2007-07-01 14:04:18 +00:00
Charles Kerr
0fb5d03514 d'oh! openssl has rc4 already. 2007-07-01 12:09:43 +00:00
Charles Kerr
e77a18c882 make the "Error while parsing bencoded data" more helpful by showing the bad bencoded data. (though the string might be very long...) 2007-07-01 02:54:37 +00:00
Charles Kerr
58f89cdc77 replace the unhelpful error message "error: insufficient resources" with more descriptive cases 2007-07-01 01:50:14 +00:00
Charles Kerr
ed4e789b97 Silence the "Too many requests!" error that's not really an error 2007-06-30 22:47:59 +00:00
Charles Kerr
3b1597789e fix r2252 copy-and-paste bug. Thanks BentMyWookie 2007-06-30 21:39:03 +00:00
Charles Kerr
4784289921 fix bug that caused libtransmission to think private torrents were public. 2007-06-30 21:29:49 +00:00
Charles Kerr
c58013c048 don't count too many bytes in the last block in tr_cpDownloadedValid(), tr_cpLeftUntilDone(), tr_cpLeftUntilComplete(). Very minor speedups in tr_bitfieldHas(), tr_bitfieldAdd(), tr_bitfieldRem(). 2007-06-30 21:11:17 +00:00
Charles Kerr
bacc2dc445 I wonder what this is for. 2007-06-30 19:46:41 +00:00
Charles Kerr
b6819d6a12 fix r2247 oops 2007-06-30 15:16:08 +00:00
Charles Kerr
3e0cac55fd (1) check a torrent's `fast resume' state as soon as it's added. (2) in gtk, show % done even when torrent is stopped 2007-06-30 13:53:10 +00:00
Charles Kerr
6c6732ed39 make tr_torrentInfo() a const function 2007-06-30 13:36:58 +00:00
Charles Kerr
ec12220404 make decrementing the torrent count the last thing we do when destroying a torrent. 2007-06-30 13:19:57 +00:00
Charles Kerr
05ca8403c6 * make tr_cpLeftUntilDone() slightly more accurate
* simplify completion code a little
2007-06-30 12:54:26 +00:00
Charles Kerr
2b1cf88ea9 fix crash reported by persept 2007-06-30 12:46:45 +00:00
Charles Kerr
781c557e52 use tr_new(), not g_new(). I've been hacking in glib too long 2007-06-29 17:29:02 +00:00
Charles Kerr
59388ed0ba fix some ugliness from last night's hackfest 2007-06-29 17:24:14 +00:00
Charles Kerr
3a73f6790e Fix endgame bug that caused the last 2-3% to drag out forever in recent nightlies. Thanks SoftwareElves 2007-06-29 06:24:55 +00:00
Charles Kerr
ab191885b5 revert one of last checkin's changes to better handle low peer situations. Thanks to SoftwareElves for the helpful explanation. 2007-06-29 06:03:54 +00:00
Charles Kerr
f0950d7390 lots of performance improvements. fun!
* dynamically resize the request queue on a per-peer basis based on its speed
* fix a huge bug that sabotaged the `swift' performance
* on startup, unchoke peers much sooner
* bump MAX_PEERS and PERCENT_PEER_WANTED
* do a better job of estimating speed on torrents less than 30 seconds old.
* getting an unrecognized extension ID, ignore it instead of stopping the torrent.
2007-06-29 05:45:17 +00:00
Charles Kerr
9b65364dcc fix divide by zero bug in makemeta code, calculating number of pieces for a zero-sized file. (SoftwareElves) 2007-06-29 02:53:12 +00:00
Charles Kerr
3d7f38fa68 get the bencoded text compliant with the bittorrent spec w.r.t. dictionaries: "keys must be strings and appear in sorted order (sorted as raw strings, not alphanumerics)." 2007-06-29 02:27:00 +00:00
Josh Elsasser
a09a9c9157 Add client/server name to IPC version handshake. 2007-06-29 02:21:29 +00:00
Charles Kerr
6890359001 Make tr_torrentParseHash() public 2007-06-28 23:35:02 +00:00
Charles Kerr
73ee59a21f * (libT) stopped torrents shouldn't use CPU cycles.
* (gtk) if a torrent is stopped when you exit, keep it stopped when restarting.
2007-06-28 17:43:53 +00:00
Charles Kerr
37234a3e34 Make tr_trackerAnnouncePulse() just return safely if there's no tracker initialized. 2007-06-28 04:28:23 +00:00
Charles Kerr
81dfe09b5e make it safe to pass a bzero()ed struct into tr_metainfoFree() 2007-06-28 02:02:30 +00:00
Charles Kerr
831cd4a3da better documentation on tr_torrentParse()'s behavior 2007-06-28 01:20:10 +00:00
Charles Kerr
8aa002b25e * fix memory leak when adding torrents.
* zero out tr_torrentParse()'s tr_info_t before filling it
2007-06-28 01:12:16 +00:00
Charles Kerr
ae40410b4e Fix tr_getComplete() and tr_getDone() bug reported by BentMyWookie 2007-06-28 00:09:59 +00:00
Charles Kerr
995c1cdbb1 fix r2210 oops 2007-06-28 00:04:42 +00:00
Charles Kerr
63fce9cf06 simplify tr_torrentParse() based on BWM's feedback 2007-06-27 23:22:09 +00:00
Charles Kerr
8e401729cd Modified tr_torrentCanAdd() to give the new functionality BMW suggests 2007-06-27 14:54:31 +00:00
Charles Kerr
47a5ff4120 add tr_torrentCanAdd() as per BentMyWookie's request... clear tracker error string when restarting... fix r2202 "completed" announce bug. 2007-06-27 05:14:38 +00:00
Charles Kerr
7e09d157cd Thread safety improvements. Also, stopping/starting/rechecking/etc. torrents no longer blocks the calling thread. Since this a big commit, it will probably create some short-term pain via new bugs. 2007-06-26 18:45:03 +00:00
Charles Kerr
21cf51e3f7 Add tr_stat_t.downloadedValid hook to IPC for Gimp_ 2007-06-26 17:52:45 +00:00
Charles Kerr
6011450518 building up our threading tools: implement RW locks 2007-06-25 21:52:18 +00:00
Charles Kerr
9d139eefe4 possible fix for the -0.0 percent done bug 2007-06-23 02:24:03 +00:00
Charles Kerr
ab85deaf51 add color-coded lines to the gtk debug window -- info is black, debug is grey, errors are red... 2007-06-22 20:59:23 +00:00
Charles Kerr
5401979ffa misc cleanup.. ansification; fix my own typos, etc... 2007-06-22 04:30:39 +00:00
Charles Kerr
e087ac395a Maybe fix the bug of progress-for-done not including non-checked files even if they're finished 2007-06-22 00:44:26 +00:00
Charles Kerr
e161544761 adding experimental implementation of Tamilmani's `Swift' tit-for-tat algorithm for testing. To tweak or disable, change the values around line 50 of libtransmission/peer.c 2007-06-21 14:47:26 +00:00
Charles Kerr
bda9067ee7 more improvements to makemeta's piece size heuristics (SoftwareElves & charles_) 2007-06-19 16:36:15 +00:00
Charles Kerr
d4e1c19e32 better algorithm to decide on a good piece size. (SoftwareElves & charles_) 2007-06-19 06:01:30 +00:00
Charles Kerr
5128d0a434 fix terribly nasty bencode corruption bug from r2024 regarding the sorting of dictionary keys in tr_bencDictAdd(). this corrupts all the pointers that are already floating out there to existing values in the dictionary... if BitTornado really needs these to be sorted, then we should sort a temporary copy in tr_bencSave(), not here in our internal structures. 2007-06-19 03:01:57 +00:00
Charles Kerr
64ce2edbfb * makemeta: don't add dotfiles to the torrents
* bencode: trying to chase down a memory leak
2007-06-19 01:49:56 +00:00
Charles Kerr
4eea50e991 ugly code removal: we were calling stat() three times on each file! (BMW: builder struct changed slightly... this shouldn't affect the mac client but you might want to recompile to confirm) 2007-06-19 00:08:39 +00:00
Mitchell Livingston
a4d5dfa328 avoid ridiculously rate divide-by-0 2007-06-19 00:08:06 +00:00
Charles Kerr
9791bb6f22 better error message (BigBossman) 2007-06-18 21:03:10 +00:00