Commit Graph

343 Commits

Author SHA1 Message Date
Jordan Lee ff303e6fd7 queuing: lower the default 'active downloads' value to 5 2011-08-08 16:29:47 +00:00
Jordan Lee 313bd9e211 Add a mechanism for enabling/disabling the stalled minutes feature. This is a pre-existing feature in the Mac client. 2011-08-07 19:24:33 +00:00
Jordan Lee 307754e807 #671 "torrent queuing" -- modify the queue implementation s.t. every torrent has a queuePosition, even if it's not currently in the queue. 2011-08-02 03:59:54 +00:00
Jordan Lee 61174b007e (trunk) #671 "torrent queuing" -- Preliminary implementation. Covers libtransmission; GTK+ and Qt clients, and rudimentary web client support. 2011-08-01 22:24:24 +00:00
Jordan Lee 3928a9d8e9 (trunk libT) #3219 "Don't scrape paused torrents" -- allow this as a 'hidden' option in settings.json, but don't add it to the GUI or to RPC. 2011-07-23 17:14:12 +00:00
Jordan Lee de34a0545b (trunk libT) minor #include cleanups 2011-07-13 03:23:37 +00:00
Jordan Lee 731ee3640c (trunk libT) remove unnecessary "UNUSED" attribute 2011-07-12 12:24:41 +00:00
Jordan Lee 35fb00fd9e (trunk libt) #4315 "Transmission 2.31 crashes (segfaults) immediately after launch" -- remove the "max-open-files" code.
max-open-files might have been a nice configuration option once, but (1) we've never advertised it in the gui apps, and (2) the crazy cases are causing more trouble than this feature is worth. It's more complicated now after #4164 -- see #4294, #4311, and this ticket.
2011-06-24 22:39:20 +00:00
Jordan Lee f134858453 (trunk libT) avoid thread issues on startup by ensuring that tr_sessionLoadTorrents() runs in the libtransmission thread. 2011-06-19 18:30:57 +00:00
Jordan Lee 33eb6d3f9e (trunk) #3817 remove OS proxy integration from the GTK+ client 2011-05-27 13:36:53 +00:00
Jordan Lee 52512857ae (trunk libT) better r12434 2011-05-16 07:11:21 +00:00
Jordan Lee 01461d0b4a (trunk gtk) more heap pruning:
querying gconf2 each time the curl callack function is called is expensive, so query it once -- then again later, if the proxy settings change -- and remember the values in a local struct.
2011-04-13 06:18:30 +00:00
Jordan Lee 525d854016 (trunk libT) when reading piece data in from a socket, avoid two unnecessary calls to memcpy() 2011-04-04 04:45:41 +00:00
Jordan Lee 1b02eb8641 (trunk libT) use aggregation for the tr_bandwidth objects owned by tr_session and tr_torrent 2011-03-31 14:53:22 +00:00
Jordan Lee 210068410d (trunk libT) merge tr_bitfieldTestFast() and tr_bitfieldTest() 2011-03-30 04:23:20 +00:00
Jordan Lee 83c0e4f011 (trunk libT) break the mac build and introduce new crashes.
This is partially to address #4145 "Downloads stuck at 100%" by refactoring the bitset, bitfield, and tr_completion; however, the ripple effect is larger than usual so things may get worse in the short term before getting better.

livings124: to fix the mac build, remove bitset.[ch] from xcode
2011-03-28 16:31:05 +00:00
Jordan Lee 9aafb0cb00 (trunk libT) minor code cleanup in announcer-udp: whitespace & function names 2011-03-26 10:22:25 +00:00
Jordan Lee 1b825079be (trunk libT) API cleanup of the tr_address functions to make them more consistent.
This is loosely related to #2910, but only in the sense of laying the groundwork for #2910's fix...
2011-03-25 05:34:26 +00:00
Jordan Lee 1304aa0079 (trunk libT) still fiddling around with #includes -- this time removing unncecessary libT includes from libT .c files 2011-03-25 01:41:57 +00:00
Jordan Lee b4d36aeb54 (trunk) #4138 "use stdbool.h instead of tr_bool" -- done. 2011-03-22 15:19:54 +00:00
Jordan Lee bf4eb642dc (trunk libT) remove dead code: tr_sessionSetLazyBitfieldEnabled(), tr_sessionIsLazyBitfieldEnabled() 2011-03-21 16:33:16 +00:00
Jordan Lee b9a508f9fe (trunk libT) remove unused configDir argument from tr_sessionGetDefaultSettings() 2011-03-21 16:22:39 +00:00
Jordan Lee f4b4ddd231 (trunk libT) better shutdown management of libutp and UDP trackers in tr_sessionClose().
This is a little overlapping since the utp code can be closed more-or-less immediately, but the udp manager needs to stay open in order to process the udp tracker connection requests before sending out event=stopped. Moreover DNS resolver can be shut down after the UDP tracker is shutdown.
2011-03-17 18:51:31 +00:00
Jordan Lee 78a4865aa1 (trunk libT) as a followup to r12182, move LPD's periodic upkeep timer into the tr-lpd.c module where it can be started & stopped with the pre-existing tr_lpdInit() and tr_lpdUninit() functions. 2011-03-17 13:16:23 +00:00
Jordan Lee 501f2e106f (trunk libT) move tr_lpdAnnounceMore() out of the announcer module
We can stop local peer discovery immediately during shutdown, but need to leave the announcer running for the event=stopped messages. So it doesn't make sense to keep them on the same periodic timer.
2011-03-17 12:45:29 +00:00
Jordan Lee 6835374661 (trunk libT) move tr_dhtUpkeep() out of the announcer module
During shutdown, we can stop DHT almost immediately, but need to leave the announcer running for the DHT tracker event=stopped messages. So it doesn't make sense to keep them on the same periodic timer.
2011-03-17 12:34:43 +00:00
Jordan Lee 075a0a8b86 (trunk libT) use libevent's portability wrapper for strcasecmp() 2011-03-13 08:21:55 +00:00
Jordan Lee 896c9b54e1 (trunk libT) Add an enumeration for the peer id length. Use that enum for the peer_id fields in tr_session and tr_torrent.
This also avoids an extra malloc/free per-torrent and per-session, but mostly this tweak is for the extra readability of the PEER_ID_LEN=20 enum.
2011-03-10 12:35:23 +00:00
Jordan Lee 7ad41603e9 (trunk libT) #2338: "uTP support" -- enable uTP by default. 2011-03-05 16:19:56 +00:00
Jordan Lee 0e27f583d3 (trunk libT) #4047 "transfer speed shown as 0" -- revert r11783 (#3950) because it caused speed misreporting. 2011-03-01 15:23:13 +00:00
Jordan Lee 2b9db3c242 (trunk libT) #4048 "use bitsets instead of bitfield in tr_completion" -- done.
Excuse the sprawl. Much of this didn't fit into self-contained commits.
2011-02-23 03:54:04 +00:00
Jordan Lee cd04051de8 add configure script switch to enable/disable utp 2011-02-18 00:45:44 +00:00
Juliusz Chroboczek 5af8e26251 Use large kernel buffers for the UDP socket when uTP is enabled.
Since we're using a single UDP socket to implement multiple uTP sockets,
and since we're not always timely in servicing an incoming UDP packet,
it's important to use a large receive buffer.  The send buffer is probably
less critical, we increase it nonetheless.
2011-02-18 00:43:47 +00:00
Juliusz Chroboczek a348c5d421 Don't call tr_utpClose in toggle_utp.
The uTP timer needs to run even when uTP has been disabled, or else the
uTP sockets will never time out.
2011-02-18 00:43:45 +00:00
Jordan Lee c4b1d1e6c5 (trunk libT) add C and RPC API for getting/setting uTP enabled flag 2011-02-18 00:33:11 +00:00
Juliusz Chroboczek 8599d7c037 Modify peer-io to work with UTP sockets.
This is not supposed to work yet -- it just adds new fields to the data
structures to get the UTP code to compile.
2011-02-18 00:23:51 +00:00
Jordan Lee 2f5fc4ade7 (trunk libT) #3959 "by default, disable prefetch for lightweight builds" -- fixed.
User jusid reports prefetch causes load on his NMT to jump from <1 to 3-4. He requests a way to disable prefetch, and suggests that prefetch be disabled by default on lightweight builds.  This commit adds a new settings.json key, "prefetch-enabled", which defaults to "true" on standard builds and "false" when compiled with --enable-lightweight.
2011-01-31 23:35:10 +00:00
Jordan Lee 4fbd6d8b19 (trunk libT) #3950 "use libevent's cached gettimeofday() value when appropriate" -- fixed. 2011-01-29 18:59:23 +00:00
Jordan Lee bbe51e1faf (trunk libT) #3955 "tr_torrentNext() should be inlined" -- fixed. 2011-01-29 18:54:43 +00:00
Jordan Lee 5d15ee8439 (trunk) #3949 "Add --enable-lightweight argument to configure" -- fixed.
TR_EMBEDDED has been around for awhile, but few (any?) repackagers are aware of it. If it was "advertised" through a configure-time argument, and in the status messages at the end of the configure script, more repackagers would be aware of it.
2011-01-27 03:53:02 +00:00
Mitchell Livingston a1eedd117d #3940 Global displayed speed does not include webseeds; remove a now-unused libT speed function 2011-01-23 18:23:52 +00:00
Jordan Lee 599d33035b (trunk libT) #3906 "DHT ignores bind-address-ipv6" -- make the process of getting the binding address consistent between IPv4 and IPv6 sockets.
As suggested by Juiusz after the IPv6 binding commit in r11749.  See: https://trac.transmissionbt.com/ticket/3906#comment:6
2011-01-22 20:43:36 +00:00
Jordan Lee 879a2afcbd Update the copyright year in the source code comments.
The Berne Convention says that the copyright year is moot, so instead of adding another year to each file as in previous years, I've removed the year altogether from the source code comments in libtransmission, gtk, qt, utils, daemon, and cli.

Juliusz's copyright notice in tr-dht and Johannes' copyright notice in tr-lpd have been left alone; it didn't seem appropriate to modify them.
2011-01-19 13:48:47 +00:00
Juliusz Chroboczek 6f5ecd2ab8 Make the peer-socket-tos preference more user-friendly.
Possible values are now the strings default, lowcost, throughput etc.
Numeric values are used for non-standard values.
2011-01-15 17:10:54 +00:00
Juliusz Chroboczek 8ea2c0daa1 Make the peer-congestion-algorithm preference visible.
When I first implemented this code, I made the preference hidden --
unless you set it yourself, it will not appear in the sttings file.
Now that it's been documented and advertised, make it visible.
2011-01-15 16:25:24 +00:00
Juliusz Chroboczek abcd56c034 Move creation of the UDP sockets to tr-udp.c. 2011-01-09 21:48:36 +00:00
Juliusz Chroboczek 89aa3bb58e Implement tr_dhtInit and Uninit, use it in session.c. 2011-01-09 21:48:33 +00:00
Jordan Lee fde6b36e57 (trunk libT) prevent crash on shutdown when bindinfo ptr can be NULL 2011-01-05 08:07:04 +00:00
Jordan Lee 69a3b8bbab (trunk, daemon) #3833 "'freespace' argument for 'session-get' RPC method" -- committing patch from taem, reardon, and rb07 2011-01-05 04:41:19 +00:00
Charles Kerr b223a33b73 (trunk libT) fix crash reported by KyleK 2011-01-03 03:01:12 +00:00
Charles Kerr a17962d5fc (trunk libT) #3528 "TR_PREFS_KEY_BIND_ADDRESS_IPV4 breaks IPv6-only trackers" -- Implement suggestion #2 from Harry 2010-12-30 19:15:47 +00:00
Charles Kerr e5bb3205a1 (trunk) Join the 21st century and use only 1 space at the end sentences. This commit is nearly as important as the semi-annual ones that remove trailing spaces from the ends of lines of code... :) 2010-12-27 19:18:17 +00:00
Charles Kerr ae84dc70dd (trunk libT) #3836 "libevent2 support" -- finish moving to the libevent2 API mode. don't include the backwards-compatable API headers. 2010-12-24 08:58:41 +00:00
Charles Kerr 16a5fa4073 (trunk) #1408 "total downloading and seeding time per torrent" -- add patch to track how long a torrent has been seeding or downloading 2010-12-23 19:32:59 +00:00
Charles Kerr 3a5d17cfde (trunk) #1538 "Make Web UI URL configurable" -- added to trunk. Patch by wereHamster 2010-12-12 18:22:11 +00:00
Charles Kerr ec18abf0a9 (trunk libT) raise the default cache size from 2 MB to 4 MB 2010-12-12 05:59:19 +00:00
Charles Kerr 0e9247b84a (trunk) #3817 "use the OS' proxy support" -- implemented for libtransmission, transmission-gtk 2010-12-10 18:51:05 +00:00
Charles Kerr df26058ee8 #3677 (libT) "Save .resume files less frequently to avoid excessive disk IO" -- fixed. 2010-12-09 16:54:14 +00:00
Charles Kerr cef4c4da88 (trunk libT) possibly fix the "no announce scheduled" issue reported in the forums 2010-12-03 22:56:17 +00:00
Charles Kerr b1a7b981a2 (trunk) #3697 "https://trac.transmissionbt.com/ticket/3697" -- make "blocklist.bin" visible in transmission.h 2010-11-01 00:12:30 +00:00
Charles Kerr 92620b72b0 (trunk) #3697 "make blocklist URL configurable" -- implemented in GTK+, Qt, and RPC 2010-10-31 17:16:12 +00:00
Charles Kerr 22c622a92f (trunk) #3688 "remove proxy support" -- remove from libtransmission 2010-10-31 17:05:31 +00:00
Charles Kerr e8503b9d84 (trunk libT) testing over; reverting r11360 2010-10-30 05:24:50 +00:00
Charles Kerr 9a6f76d77a (trunk libT) experimentally disable DHT by default 2010-10-30 02:49:36 +00:00
Charles Kerr ad613b05f7 (trunk libT) #3638 "fewer crypto calls when creating peer-ids, session ids, announcer keys, etc" -- fixed. 2010-10-17 18:32:55 +00:00
Charles Kerr 8d15c48a3f (trunk libT) #3617 "1000+ warnings of 'inlining failed' in libtransmission when compiled with gcc 4.4.4" -- fixed. 2010-10-11 15:41:27 +00:00
Charles Kerr 599c5a8cc4 (trunk daemon) #3511, part 2 of 2: get rid of the TR_DEBUG environment variable 2010-09-22 15:17:16 +00:00
Charles Kerr 30b254eebf (trunk libT) #3493 "transmission doesn't exit cleanly if LPD is disabled during the session" -- fixed. 2010-08-07 03:29:47 +00:00
Mitchell Livingston 8bee7fa23c update Mac build for the change from inactive to idle 2010-07-24 03:19:41 +00:00
Charles Kerr 3655047e85 (trunk) #2560: rename "inactive limit" to "idle limit". Add support in GTK+ client and preliminary support to Qt client 2010-07-24 02:57:39 +00:00
Mitchell Livingston fd0dd10419 First go at #2560 "inactive seeding time limit". libtransmission and Mac support are currently implemented. 2010-07-16 03:12:57 +00:00
Charles Kerr 666f9258a8 (trunk libT) #3423 "crash when saving prefs" -- fixed 2010-07-13 13:36:00 +00:00
Charles Kerr 5e4f950358 (trunk libT) #1521 "memory cache to reduce disk IO" -- whoops, I missed these parts from Longinus' patch in r10978 2010-07-08 23:38:57 +00:00
Charles Kerr c993c1703a (trunk libt) #3402 "cache-size parameter not retained in settings.json after a restart" -- fixed 2010-07-07 23:37:03 +00:00
Charles Kerr 841be713d1 (trunk libT) #3383 "When port forwarding, check to see if the public port matches the private port" -- fixed 2010-07-05 21:04:17 +00:00
Charles Kerr 6e5af03d78 (trunk) #3045 "speed units" -- change the public API of libtransmission based on feedback from livings 2010-07-04 06:07:21 +00:00
Charles Kerr cdcc4705aa (trunk) #3045 "make libtransmission's API byte-oriented instead of KiB-oriented." -- implemented. This is a largish commit and will break the mac build for a little while. 2010-07-03 00:25:22 +00:00
Charles Kerr e70bebf930 (trunk) #1521 "memory cache to reduce disk IO" -- commit block-cache-rc1.diff to trunk for the nightlies. 2010-06-19 14:25:11 +00:00
Charles Kerr 38a254ba78 (trunk libT) as long as I'm committing these CPU tweaks, might as well throw in #3289 too. To undo all this, we can revert to r10745 2010-06-14 12:01:50 +00:00
Charles Kerr 0ad06c50e8 (trunk) #3262 "problems with '.' as the first character in a .torrent's filename" -- fixed in trunk for 2.00 2010-06-07 14:25:31 +00:00
Charles Kerr da2ef53eeb (trunk) #1796 "run script after torrent completion" -- implemented for libT, RPC, and the GTK+ and Qt clients 2010-05-08 22:42:28 +00:00
Charles Kerr 2b9ab542cb (trunk) #3060 "Local Peer Discovery" -- in the code, rename LDS as LPD for Local Peer Discovery 2010-05-08 08:42:45 +00:00
Charles Kerr 5a34347f4f (trunk) #3060 -- Local Peer Discovery patch from Eszet 2010-05-01 16:04:00 +00:00
Charles Kerr 5eab3318ff (trunk libT) #3117 "Tracker queries to not honor bind-address-ipv4" -- fix a crash-on-shutdown reported by Waldorf in #3181. The crash was introduced by r10535 for #3117 2010-04-30 17:38:40 +00:00
Charles Kerr d384b38f07 (trunk) minor transmission.h API cleanup.
1. remove tr_sessionGetActiveTorrentCount()
2. make tr_sessionCountTorrents() package-visible instead of public.
3. make tr_torrentGetActivity() private instead of public.
2010-04-29 23:08:11 +00:00
Charles Kerr ef2fd245cf (trunk libT) #3078 "Transmission closes socket after SIGHUP" -- experimental fix 2010-04-28 04:57:21 +00:00
Charles Kerr 4b5044ad28 (trunk libT) #3117 "Tracker queries do not honor bind-address-ipv4" -- possible fix 2010-04-28 00:32:43 +00:00
Charles Kerr 921bb00d7c (trunk libT) #3126 "Incomplete Dir. doesn't need to be auto created" -- have the default incomplete dir be the same as the default download dir. The Mac client already does it this way. 2010-04-22 04:15:49 +00:00
Charles Kerr 00f452d942 (trunk libT) #3162 "allow optional end-user configuration of TCP_CONGESTION" -- add jch's implementation of this to trunk for 2.00 2010-04-22 01:49:16 +00:00
Charles Kerr aae8a8d202 (trunk) #3141 "Web client should be disabled by default" -- implemented in trunk for 2.0 2010-04-15 18:57:26 +00:00
Charles Kerr b7827565ee (trunk libT) #1869 "new status for torrents that reach seed ratio" -- possible fix for the bug reported by leena 2010-04-15 13:43:54 +00:00
Charles Kerr a2d56b832d (trunk libT) back out r10075, because r10336 addresses the same problem in a better way. r10075 changed the default preallocation to `full' if fallocate64() is present, and r10336 added fallocate64() as the first-attempt mechanism for `fast' preallocation 2010-04-11 13:32:41 +00:00
Charles Kerr e1607c8354 (trunk) #2898 "add pausing and deletion to daemon" -- committed patch from Longinus00 to trunk for 2.00 2010-03-17 19:23:03 +00:00
Charles Kerr fe3d9ed95a (trunk) one of the least interesting commits ever: remove trailing spaces from source code lines... 2010-03-17 17:07:40 +00:00
Charles Kerr ddde05bff7 (trunk libT) #3026 "speed limit mode not honoring limits on other days" -- fixed regression caused by r10352 reported by m1b. 2010-03-12 19:35:28 +00:00
Charles Kerr af3736dbd3 (trunk libT) #3026 "Recent T doesn't honor weekend speed limit setting" -- fixed in trunk for 2.00 2010-03-10 22:19:31 +00:00
Charles Kerr e8cb5367e1 (trunk libT) #2987 "push libcurl into its own worker thread" -- committed to trunk 2010-03-06 15:05:05 +00:00
Charles Kerr fad8f285a8 (trunk libT) use jch's suggestion of having a per-session page-aligned memory buffer for general reuse. (http://trac.transmissionbt.com/ticket/2551#comment:5) 2010-02-23 07:20:57 +00:00
Charles Kerr 3c936b2849 (trunk libT) #2907 "Speed Limit mode not retained after relaunch" -- fixed in trunk for 1.91 2010-02-19 06:19:47 +00:00
Charles Kerr 653537f8d7 (trunk libT) #2907 "speed limit mode not retained after relaunch" -- fixed in trunk for 1.90 2010-02-16 00:00:22 +00:00