Commit Graph

445 Commits

Author SHA1 Message Date
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
Charles Kerr 64c21325e8 make the torrent file parser errors more useful. (John_Clay) 2007-06-18 20:56:04 +00:00
Charles Kerr 7afba516ff fix platform.c oops reported by BigBossman 2007-06-18 20:36:25 +00:00
Charles Kerr 06e761d950 * fix error checking large files reported by Gimp_
* portability changes to pathname/filename building
* small gratuitous changes
2007-06-18 19:39:52 +00:00
Charles Kerr 932438eba5 Fix very large file error reported by Gimp_ 2007-06-18 05:05:16 +00:00
Mitchell Livingston 0256f4616d Merge file selection and torrent creation into the main branch.
The new code for these features is under a new license.
2007-06-18 03:40:41 +00:00
Eric Petit 1636fc70d2 BeOS fixes 2007-06-14 11:41:09 +00:00
Josh Elsasser cf6994f559 Fix upnp verbose logging to show outgoing http requests. 2007-06-10 23:12:43 +00:00
Josh Elsasser 0eaedc2fe3 Return bad-format message when appropriate.
Fix supported message to be more accurate.
2007-06-10 22:56:18 +00:00
Josh Elsasser 1315161ae4 Add some code for verbose UPnP logging which can be enabled at compile-time. 2007-06-10 22:26:59 +00:00
Josh Elsasser de7287a829 Add a missing quote and fix UPnP regressions. 2007-06-10 22:01:46 +00:00
Josh Elsasser b19a3ec7d9 Add bad-format message. 2007-06-10 20:31:52 +00:00
Eric Petit ba5bb320ca Bencoded dictionaries are now sorted alphabetically, this should fix
compatibility with some clients, incl. BitTornado-based ones.
(Reported by roee88 from LH-ABC)
2007-06-10 15:38:58 +00:00