1
0
Fork 0
mirror of https://github.com/transmission/transmission synced 2024-12-27 01:57:52 +00:00
Commit graph

397 commits

Author SHA1 Message Date
Charles Kerr
ead8254b85 (trunk libT) tr_torrentStat() speedups 2009-01-03 23:11:29 +00:00
Charles Kerr
0d2d375125 (trunk libT) inline a few more torrent methods 2009-01-03 00:25:27 +00:00
Charles Kerr
86d3e70121 (trunk libT) avoid some unnecessary memory fragmentation... for composited objects that have a tr_ratecontrol, contain the it directly rather than a pointer to one allocated elsewhere on the heap. 2009-01-02 20:42:35 +00:00
Charles Kerr
199e38dd66 (trunk libT) avoid some unnecessary memory fragmentation... for composited objects that have a tr_completion, contain the it directly rather than a pointer to one allocated elsewhere on the heap. 2009-01-02 17:01:55 +00:00
Charles Kerr
d6b4db4a78 (trunk libT) add "inline" hint to several one-liner functions 2009-01-02 06:28:22 +00:00
Charles Kerr
7a4002dd3a (trunk libT) avoid some unnecessary memory fragmentation... for composited objects that have a tr_bitfield, contain it directly rather than a pointer to one allocated elsewhere on the heap. 2008-12-29 09:51:54 +00:00
Charles Kerr
427f639664 (trunk libT) avoid some unnecessary memory fragmentation... for composited objects that have a tr_ptrArray, contain the tr_ptrArray directly rather than a pointer to one allocated elsewhere on the heap. 2008-12-29 08:54:36 +00:00
Charles Kerr
dfcc9173e5 (trunk libT) #include "session.h" cleanup from wereHamster 2008-12-23 17:27:15 +00:00
Charles Kerr
303356d110 (trunk) #1029: When removing local data only remove data from the torrent 2008-12-23 16:04:11 +00:00
Charles Kerr
8556ce653f (trunk libT) comments, tr_bool correctness, better runtime tests. 2008-12-21 18:15:00 +00:00
Charles Kerr
54be88dec3 (trunk libT) add ipv6 support by jhujhiti. I think this is the largest user-contributed patch we've ever used... thanks jhujhiti :) 2008-12-15 00:17:08 +00:00
Charles Kerr
788b397ecc (trunk libT) more semantic cleanup: tr_handle->tr_session, int->tr_bool, int->tr_port 2008-12-14 11:21:11 +00:00
Charles Kerr
f1419a95c0 (trunk libT) semantic cleanup: int -> tr_bool 2008-12-13 23:39:12 +00:00
Charles Kerr
6b0d98a695 (trunk) #1559: Simplify tr_sessionInitFull 2008-12-13 23:17:36 +00:00
Charles Kerr
a33b78fc53 (daemon) #1510: kysucix's patch to give an option to delete local data via RPC when removing a torrent. 2008-12-09 17:01:49 +00:00
Charles Kerr
519b4d3f5e (trunk libT) if an individual torrent's speed limit is set, don't pay attention to the global speed limit 2008-12-09 15:09:26 +00:00
Charles Kerr
76ce949419 (libT) fix a minor memory leak. 2008-12-06 02:21:50 +00:00
Charles Kerr
bdffa5ce20 (libT) #1454: List of files selection/priority resetting 2008-12-02 23:27:45 +00:00
Charles Kerr
d4ee0d714a (libT) #1379: support "partial seeds" BEP 22 2008-12-02 19:46:51 +00:00
Charles Kerr
9d39ed2540 (libT) misc cleanup 2008-12-02 18:24:26 +00:00
Charles Kerr
c910993b68 #1379 lay some very early groundwork for "partial seeds" -- change tr_completion's enum to use the partial seed terminology 2008-11-30 01:52:45 +00:00
Charles Kerr
ff651209c8 (libT) remove debugging statement that got checked in by accident 2008-11-26 05:58:10 +00:00
Charles Kerr
f44248a7d7 (libT) yet another stab at getting bandwidth management under control. this version may suck less than previous attempts. It also breaks the mac build until someone adds iobuf.[ch] to xcode... 2008-11-25 21:35:17 +00:00
Charles Kerr
be5e6774ad (libT) #1468: another stab at getting the peer transfer speeds both fast and a little more consistent. 2008-11-24 04:21:23 +00:00
Charles Kerr
42fe27c067 more fucking around with the speed measurements. 2008-11-08 02:49:04 +00:00
Charles Kerr
58ea9e4be8 (libT) revise r7065 2008-11-07 05:37:59 +00:00
Charles Kerr
c8b51fb734 #1429 (libT) cleaner handling of the special case where the upload or download speed limit is zero 2008-11-07 04:10:27 +00:00
Charles Kerr
04d10183e1 (libT) fix r7055 oops. Also, the comment on that last commit should read "in the values returned by the public API's speed functions, only give the piece data transfer speeds -- don't include the protocol overheads" 2008-11-06 03:04:21 +00:00
Charles Kerr
8e4fa83c77 update NEWS 2008-11-06 02:56:51 +00:00
Charles Kerr
10566eece9 (libT) #849: preallocate files when possible to prevent disk fragmentation 2008-11-05 05:56:06 +00:00
Charles Kerr
5d35dfaeca (libT) micro-optimizations suggested by cachegrind 2008-11-03 17:01:08 +00:00
Charles Kerr
f2a933fb77 #1308: Transmission forgets it's verifying data 2008-10-28 15:13:07 +00:00
Charles Kerr
11f240365e fix tab damage 2008-10-27 17:35:22 +00:00
Charles Kerr
5ad58ea83e fix r6965 oops 2008-10-27 04:39:30 +00:00
Charles Kerr
631d9d9a8f (libT) fold together some redundant sanity tests that were taking up 6.6% in softwareelves' profile 2008-10-27 04:27:55 +00:00
Charles Kerr
0c4f300f1b #1369: clarify the different torrent status & callbacks' APIs and typenames 2008-10-20 17:54:56 +00:00
Charles Kerr
ea668ca9ff (libT) possible fix for the up/down display inconsistency reported by BentMyWookie. 2008-10-20 03:47:48 +00:00
Charles Kerr
e3a5524189 have tr_buildPath() allocate memory from the heap rather than using an input buffer 2008-10-14 03:03:29 +00:00
Charles Kerr
4fab4c9e9b (libT) finish killing tr_errno. 2008-10-03 04:49:06 +00:00
Charles Kerr
b1ef118e3f (libT) housekeeping: tr_torrent.handle --> tr_torrent.session 2008-10-02 15:53:33 +00:00
Charles Kerr
cc89872dd4 run libT, cli, daemon, gtk through the source-code formatter "uncrustify" as promised/threatened 2008-09-23 19:11:04 +00:00
Charles Kerr
4fe1e1dae3 first draft at having more accurate speed controls 2008-09-17 19:44:24 +00:00
Charles Kerr
419242e36f (libT) change benc's integral type from int to size_t, squashing a couple of minor warnings 2008-09-04 14:42:32 +00:00
Mukund Sivaraman
de62de3e19 Replace random number generation code 2008-08-14 11:11:25 +00:00
Charles Kerr
2e6443a53d #1168: reading past the end of KTorrent's pex added.f strings 2008-08-10 14:58:11 +00:00
Charles Kerr
c6026a3b66 #1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero 2008-08-06 11:39:30 +00:00
Charles Kerr
74dd613895 #1135: crashes when adding torrent, with "assert( ( info->pieceSize % tor->blockSize ) == 0 );" 2008-08-05 20:27:40 +00:00
Charles Kerr
b860119cd3 minor text cleanup 2008-08-01 16:43:22 +00:00
Charles Kerr
2eb89eb2a7 (libT) fix some minor warnings foudn by clang's scan-build and reported by m1b 2008-07-17 20:33:34 +00:00
Charles Kerr
16e3803082 small tr_torrentStat() speedup suggested by BentMyWookie 2008-06-17 14:25:23 +00:00
Charles Kerr
6cce27bf54 (rpc) simplify the rpc accessors 2008-06-16 03:47:50 +00:00
Charles Kerr
effb78d674 unify the daemon and gtk client's config files so that you can easily swap back and forth between clients and keep the same torrents and preferences. 2008-06-12 16:25:36 +00:00
Charles Kerr
13424ed977 (libT) add NULL pointer checks to tr_torrentStart(), tr_torrentStop() 2008-06-10 19:25:18 +00:00
Charles Kerr
393ebbc24a more webseed work. 2008-06-10 02:36:52 +00:00
Charles Kerr
837f997e6c (libT) new API for webseed statistics: tr_torrentGetWebSpeeds() 2008-06-10 01:38:12 +00:00
Charles Kerr
dce24eb1f0 libT: first cut at implementing the internal peers' request queues as pieces rather than blocks, as discussed with erdgeist and denis, to avoid a couple of nasty CPU bottlenecks. 2008-06-09 22:53:45 +00:00
Charles Kerr
9f2d7c2c67 (libT) if there are webseeds, update the available amount accordingly 2008-06-09 02:38:27 +00:00
Charles Kerr
044bfbad39 add tr_torrentSetDoneDate() too 2008-06-03 19:42:54 +00:00
Charles Kerr
870c4d7650 add tr_torrentSetAddedDate() and tr_torrentSetActivityDate() 2008-06-03 19:22:22 +00:00
Charles Kerr
e1a23350d4 (1) add a doneDate to tr_torrent and tr_stat. (2) save tr_torrent.doneDate and tr_torrent.activityDate between sessions in the .resume file. 2008-06-03 19:16:12 +00:00
Charles Kerr
5db4ca7fa3 #981: add tr_stat.dateAdded to libT; add "sort by age" to gtk+ client 2008-06-02 04:41:55 +00:00
Charles Kerr
07c1b28e9e #838 (Adding trackers to existing torrents): add a backend API for this (tr_torrentSetAnnounceList) and implement a GUI for it in the gtk+ client. 2008-06-01 01:40:32 +00:00
Charles Kerr
0a023367b6 fix r5985 oops. I shouldn't make commits when I'm in a hurry. 2008-05-31 15:15:54 +00:00
Charles Kerr
cdf5cb87d6 another tweak for calculating tr_stat.desiredAvailable faster, suggested by BentMyWookie 2008-05-31 05:22:10 +00:00
Charles Kerr
f3db37ab1b add a couple of more ways to short-circuit the tr_stat.desiredAvailable test in tr_torrentStat(), as suggested by BentMyWookie 2008-05-30 16:49:03 +00:00
Charles Kerr
0705eaa1c0 minor speedups in tr_torrentStat() and in bitfield manipulation 2008-05-30 15:40:46 +00:00
Charles Kerr
ad2146cc24 #972 (partial) Transmission fails to compile with Sun Studio due to funky C code 2008-05-28 13:03:34 +00:00
Charles Kerr
7bfe7cc471 remove unused functions tr_torrentSetActiveCallback() and tr_torrentClearActiveCallback() 2008-05-23 20:33:54 +00:00
Charles Kerr
53d8574b11 * change tr_stat.activityDate's and tr_stat.startedDate's type to time_t, since that's how everyone uses them anyway
* add a little more documentation to tr_stat and tr_ctor in transmission.h
2008-05-23 20:04:41 +00:00
Charles Kerr
d18fb68fbc sine we now have two public ports (peer and rpc), rename "publicPort" as "peerPort" 2008-05-23 16:18:58 +00:00
Charles Kerr
0621c67c41 more cleanup work:
(1) kill the pointless "tr_tracker_stat" struct.
(2) kill the unused "tr_torrentRemoveSaved()" function.
(3) kill the redundant "nextManualAnnounceTime" variable.
(4) make the TR_ERROR_IS_* macros private.
2008-05-22 23:11:21 +00:00
Charles Kerr
26b5a16630 (libt) more janitorial work on cleaning up tr_session*() and tr_torrent*() functions: session stats, torrent count, and manual update. 2008-05-22 20:44:41 +00:00
Charles Kerr
dceabc5661 make tr_stat identical in transmission.h and rpc-spec.txt. 2008-05-22 16:59:51 +00:00
Charles Kerr
e406dcc2ab rename tr_torrentClose() as tr_torrentFree() and make it private. change client code to use tr_torrentRemove() instead. This fixes the confusion between the two methods that led to #954 2008-05-21 17:14:58 +00:00
Charles Kerr
c7b9c8c043 (#954) rpc: add "torrent-remove" method. rename tr_torrentDelete() as tr_torrentRemove() for consistency with various parts of the code. 2008-05-20 23:58:59 +00:00
Charles Kerr
2c79888a93 RPC/IPC redesign 2008-05-18 16:44:30 +00:00
Charles Kerr
be9427931a ipc: add session accessor/mutators.
transmission.h: make the session API more consistent.
2008-05-12 16:33:17 +00:00
Charles Kerr
63b82714f8 partial implementation of json-ipc backend: torrent start/stop/close/verify/stat/info, as are getting & setting per-torrent peer limits, upload speeds, and download speeds. this is a work in progress. 2008-05-12 00:41:55 +00:00
Charles Kerr
33839f77be new utility for iterating through torrents: tr_torrentNext() 2008-05-10 00:19:00 +00:00
Charles Kerr
e19149bbb7 #751: tear down some of the scaffolding used in tracking down this bug. 2008-05-08 20:30:27 +00:00
Charles Kerr
ed4e902482 #912: Resume file parsed twice on startup 2008-05-06 01:43:24 +00:00
Charles Kerr
2cd2b35238 fix multitracker problem reported by BentMyWookie 2008-05-05 20:11:03 +00:00
Charles Kerr
d561187227 when one of the trackers in a multitracker list is successful, bump it to the top of the tier. 2008-05-05 19:51:53 +00:00
Charles Kerr
c5eed39275 add #include <limits.h> to pick up INT_MAX 2008-05-05 19:33:29 +00:00
Charles Kerr
643716c6f0 randomize the announce addresses within multitracker tiers 2008-05-05 18:54:19 +00:00
Charles Kerr
2f3eba4b01 #899: Hangs when clicking verify data twice 2008-04-27 06:34:34 +00:00
Charles Kerr
52ea125c45 #894: wont start - cp->doneHave <= cp->completeHave 2008-04-24 15:25:01 +00:00
Charles Kerr
19fbb3ef2c string folding 2008-04-21 15:22:54 +00:00
Charles Kerr
08b27749ba #890: be smarter about noticing seeds from tracker & pex 2008-04-19 15:07:59 +00:00
Charles Kerr
87a77ea331 more hacking on the bencoded resume files 2008-04-15 17:00:44 +00:00
Charles Kerr
35502f0559 add more debugging messages for loading progress from the bencoded resume file 2008-04-14 20:30:43 +00:00
Charles Kerr
e4f6b9592d get tr_ctorSetMetainfoFromHash() working again. 2008-04-14 14:39:13 +00:00
Charles Kerr
afde752dc0 'resume' cleanup 2008-04-14 11:52:50 +00:00
Charles Kerr
c8c84d6bd1 #872: crash in bitfield code when loading resume files 2008-04-13 14:29:11 +00:00
Charles Kerr
fc866f51f3 minor tr_torrentStat cleanup 2008-04-12 15:56:21 +00:00
Charles Kerr
f12ac60d0a update a couple of the tr_stat fields based on feedback from BMW 2008-04-11 23:05:14 +00:00
Mitchell Livingston
f34cd7299f fix incorrect eta value 2008-04-07 05:00:07 +00:00
Mitchell Livingston
2a8b6f8b1f fix marking the eta of torrents with peers as unavailable 2008-04-07 03:01:57 +00:00
Charles Kerr
69eaaed409 remove a debugging printf 2008-04-06 17:12:15 +00:00
Charles Kerr
9f3f0c03e6 #843: download eta should consider availability 2008-04-06 14:42:47 +00:00