Mike Gelfand
2e6d5c8bc9
Add more booleans to the picture
2015-05-31 22:13:31 +00:00
Mike Gelfand
440f482d01
Replace tabs with spaces; remove trailing spaces
2015-01-02 11:15:31 +00:00
Jordan Lee
02cff80c2d
Copyedit the license's revised text: (1) remove unnecessary repitition use of the word 'license' from the top of the header and source files (2) add the standard 'we hope it's useful, but no warranty' clause to COPYING (3) make explicit that linking OpenSSL is allowed (see https://people.gnome.org/~markmc/openssl-and-the-gpl.html for background) (4) sync the Qt and GTK+ clients' license popups with COPYING's revised text
2014-01-21 03:10:30 +00:00
Jordan Lee
b342c2c180
(trunk, libT) #4089 : 'magnet download not verified for existing data' -- patch by cfpp2p
2014-01-19 05:03:27 +00:00
Jordan Lee
4b9626bb83
Licensing changes:
...
1. add the option the code to be used under GPLv2 or GPLv3; previously only GPLv2 was allowed
2. add the "proxy option" as described in GPLv3 so we can add future licenses without having to bulk-edit everything again :)
3. remove the awkward "exception for MIT code in Mac client" clause; it was unnecessary and confusing.
2014-01-19 01:09:44 +00:00
Jordan Lee
4904b923fb
(trunk) restore copyright year as suggested in email by rms
2014-01-18 20:56:57 +00:00
Jordan Lee
4c8bda8805
function pointer type correctness. mikedld
2013-09-08 17:08:18 +00:00
Jordan Lee
35638e210e
add inline wrapper functions to tr_torrent to decouple the rest of the code from tr_completion
2013-08-18 13:06:39 +00:00
Jordan Lee
058e430251
fix bug #5372 , 'wrong peer states displayed'.
2013-07-08 16:41:12 +00:00
Jordan Lee
3fb74c4e00
(trunk, libT) fix tr_torrentStat() regression in the nightlies reported in #5294 by mw3demo
2013-05-27 21:04:48 +00:00
Jordan Lee
1f2bccd17b
(libT) recycle the peer id used for public torrents after N hours of use
2013-02-02 13:42:50 +00:00
Jordan Lee
e85ece214e
(libT) rename internal struct 'tr_torrent_peers' as 'tr_swarm'
2013-01-27 21:03:52 +00:00
Jordan Lee
388da24dd0
(libT) add package-visible API hook for when a block is downloaded. Add unit test to confirm that when the last file finishes downloading, its .part suffix is removed and it's moved from the incomplete to complete dir
2013-01-26 23:08:51 +00:00
Jordan Lee
a9657d56ec
replace tr_torrent's 'float etaSpeed_KBps' field with an 'unsigned int etaSpeed_Bps' field
2013-01-06 20:15:11 +00:00
Jordan Lee
aea6d7cd6f
(trunk, libT) #5168 'make libtransmission's public funcs nonblocking when possible' -- remove tr_torrentRef() and tr_torrentUnref() as discussed in https://trac.transmissionbt.com/ticket/5168#comment:8
2012-12-14 20:04:37 +00:00
Jordan Lee
079c78981c
(trunk) #5168 'make libtransmission's public funcs nonblocking when possible' -- first attempt.
2012-12-12 20:22:57 +00:00
Jordan Lee
3d38723ad9
Follow more common whitespace style conventions in the C code (libtransmission, daemon, utils, cli, gtk).
2012-12-05 17:29:46 +00:00
Jordan Lee
3398a48e57
(trunk libT) #4402 "Transmission Bandwidth allocation getting overflows" -- use gvdl's patch '4402-uint-bpsoverflow.patch'
2012-07-01 02:17:35 +00:00
Jordan Lee
ae89e4683d
add user_data (void *) to the queue callback
2011-08-03 23:40:51 +00:00
Jordan Lee
ce77935009
Add a callback to be invoked when the queue starts a torrent.
2011-08-03 03:14:57 +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
0245703634
(trunk libT) tr_torrentGetFileMTime() used to require two stat() calls.. now it only requires one.
2011-04-02 07:36:34 +00:00
Jordan Lee
e6c0bdef6a
(trunk libT) save 48 bytes per tr_torrent object. whoo!
2011-03-31 16:08:31 +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
b4d36aeb54
(trunk) #4138 "use stdbool.h instead of tr_bool" -- done.
2011-03-22 15:19:54 +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
9bf2434e14
(trunk) copyediting: remove trailing spaces from source code lines in daemon/ gtk/ libtransmission/ and utils/
2011-03-04 23:26:10 +00:00
Mitchell Livingston
73956c6a4f
store secondsDownloading and secondsSeeding as ints instead of time_t
2011-02-26 15:01:07 +00:00
Mitchell Livingston
6092362c1e
revert the last commit
2011-02-26 14:59:05 +00:00
Mitchell Livingston
39709abd6e
store secondsDownloading and secondsSeeding as ints instead of time_t
2011-02-26 14:56:58 +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
72f9ab91fa
(trunk) make tr_torrentName() a public function.
...
This has been a private function in libtransmission for awhile now but it makes more sense as a public function.
2011-02-15 15:18:51 +00:00
Jordan Lee
06948a8514
(trunk libT) #2955 "verify pieces only when necessary, or when the user requests it." -- improvements to .resume file
...
As pointed out by longinus00 and ijuxda, storing per-piece timestamps in the .resume file can involve a lot of overhead. This commit reduces the overhead by adding a couple of optimizations: (1) in cases where *all* or *none* of the files' pieces were checked after the file's mtime, we can safely fold all the pieces' mtimes into a single per-file mtime. (2) since unix time takes up a lot of space when rendered as a benc integer, find a common per-file "baseline" number, then store the pieces' timestamps as offsets from that number. Also add documentation explaining this new format, and also better explaining the pre-2.20 progress format.
2011-02-02 21:17:16 +00:00
Jordan Lee
ba7e856ce2
(trivial) make the implementation of tr_torPieceCountBlocks(), tr_torPieceCountBytes(), and tr_torBlockCountBytes() consistent.
2011-02-01 21:32:03 +00:00
Jordan Lee
bbe51e1faf
(trunk libT) #3955 "tr_torrentNext() should be inlined" -- fixed.
2011-01-29 18:54:43 +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
Jordan Lee
8aa0f36a37
cleanup of who calls the libtransmission thread locking functions.
...
In some cases we were calling them from deep inside libtransmission, when they should have been called directly from the public-visible API functions: tr_torrentWebSpeeds_KBps(), tr_torrentPeers(), tr_torrentTrackers().
2011-01-18 23:44:36 +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
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
27a1b2dc33
(trunk) one of the periodic, banal "remove-trailing-spaces from lines of source code" cleanup commits
2010-12-12 16:43:19 +00:00
Charles Kerr
43ed57b278
(trunk libT) #2955 "Lazy Verification (aka Just-in-Time Verification)" -- implemented.
2010-12-09 20:43:23 +00:00
Mitchell Livingston
b3c8ca4604
#3513 inactive limit should set torrent state as finished, not stopped
2010-09-12 18:58:49 +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
feb6e6b785
fix inactivity typo
2010-07-23 11:02:57 +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
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
a5a1f38393
(trunk libT) fix more issues found by -Wconversion
2010-07-01 05:14:34 +00:00
Charles Kerr
254a1f15cb
(trunk libT) down the rabbit hole: various minor type correctness changes unearthed by -Wconversion
2010-06-30 16:40:19 +00:00
Charles Kerr
7e239e932e
(trunk) #3320 : "If the seed ratio is already met when download completes, the Mac callback options do not occur" -- possible fix. needs confirmation from OP or BMW
2010-06-25 06:57:34 +00:00
Charles Kerr
41f9ae0500
(trunk) #3339 "crash when download some magnet links" -- fixed
2010-06-24 20:36:05 +00:00
Charles Kerr
db44d81b24
(trunk) #3256 "libtransmission/publish.[ch] should be replaced" -- apply publish.diff for 2.10
2010-06-19 14:33:10 +00:00
Charles Kerr
13b073fcdc
(libT) #3291 "tr_torrent.infoDictOffset should be lazily evaluated"
2010-06-16 03:05:23 +00:00
Charles Kerr
5ca8d41816
(trunk libT) #2929 "persistent tracker error messages in main window" -- experimental fix
2010-05-19 19:02:25 +00:00
Charles Kerr
8a83a4bf79
(trunk libT) remove dead function tr_torrentPromoteTracker()
2010-05-19 18:23:47 +00:00
Charles Kerr
f7d4377fa1
(trunk libT) minor API cleanup: constify array arguments in tr_torrentSetFilePriorities(), tr_torrentInitFileDLs(), and tr_torrentSetFileDLs()
2010-05-12 03:03:29 +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
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
1d8d9d8447
(trunk libT) code cleanup: after r10346, we don't need to keep the per-torrent cancel/block histories anymore
2010-03-10 15:55:00 +00:00
Charles Kerr
b850349479
(trunk) #2993 "'Downloaded' much greater than 'Have' or 'verified'" -- add new congestion-based throttle for 2.0
2010-03-08 04:29:58 +00:00
Charles Kerr
36d97610bd
(trunk) #2802 , #2716 , #2717 -- remember magnet links and their settings between sessions, and allow their trackers to be modified
2010-02-02 22:45:22 +00:00
Charles Kerr
9eb07e9b16
(trunk) No code changes here... filling in some of the blanks in the "peers" and "utils" doxygen groups' documentation.
2010-01-19 19:37:00 +00:00
Charles Kerr
5c26afdb52
happy new year!
2010-01-04 21:00:47 +00:00
Charles Kerr
6f68e30f37
(trunk libT) consistency tweak: rename tr_global{Lock,Unlock,IsLocked} as tr_session{Lock,Unlock,IsLocked}
2010-01-04 09:05:02 +00:00
Charles Kerr
6b8fb48d64
(trunk libT) replace the TR_INLINE macro with the standard "inline" keyword, since we require inline functions anyway
2010-01-01 22:26:35 +00:00
Charles Kerr
3e2269e5e3
(trunk libT) #2632 "Add streaming capability to libtransmission (but not the Transmission GUI clients)" -- revert this feature due to pushback from devs and users and the 1.80 freeze
2009-12-24 18:01:48 +00:00
Charles Kerr
12ffdb7d87
(trunk libT) #2632 "Add streaming capability to libtransmission (but not the Transmission GUI clients)" -- implemented
2009-12-24 01:02:54 +00:00
Charles Kerr
907c67ba78
(trunk libT) remove unnecessary #includes
2009-12-07 03:57:55 +00:00
Charles Kerr
78ead8c3dd
(trunk) update the copyright notices
2009-12-05 02:19:24 +00:00
Charles Kerr
cebcc3b6ef
(trunk libT) #2096 "magnet links" -- add a callback for clients to know when a magnet torrent's metainfo is finished downloading.
2009-11-26 17:58:44 +00:00
Charles Kerr
f69e335291
(trunk) #2096 : Magnet, BEP #9 support
2009-11-24 02:16:31 +00:00
Charles Kerr
1cbbcf9fa1
(trunk libT) jch's patches 0001 through 0004 for ticket #2576 , IPv6 support for DHT (BEP #32 )
2009-11-24 01:59:51 +00:00
Mitchell Livingston
be85dc0fac
a couple of more swarm speed removals
2009-11-22 01:12:44 +00:00
Charles Kerr
1fbcab8880
(trunk libT) make tr_findTorrentFromHash() a public API
2009-11-13 16:41:00 +00:00
Mitchell Livingston
9254de1a36
smooth out the upload eta the same way as the download eta
2009-10-25 02:42:57 +00:00
Charles Kerr
0df58b9ab4
(trunk libT) change the new public API a little bit -- clearer, but a little wordier
2009-10-20 04:43:51 +00:00
Charles Kerr
27b9f6e27d
(trunk libT) make the ".part" suffix an optional feature as per BMW's request. Clean up the code a little.
2009-10-20 03:14:44 +00:00
Charles Kerr
5a96ee9fc4
(trunk libT) make tr_torrentFindFile() a public API
2009-10-19 13:55:42 +00:00
Charles Kerr
05c77cc975
(trunk) #1483 : move completed torrents to a user-specified directory + #629 : different file extension for incomplete files
2009-10-19 05:05:00 +00:00
Charles Kerr
86ada18266
(trunk)
...
#1699 : Announce to multiple trackers at once
#2424 : Tracker address is not listed in GTK client.
2009-09-25 21:05:59 +00:00
Charles Kerr
034d14639a
(trunk libT) use tr_torrentName() instead of tor->info.name
2009-09-17 03:24:35 +00:00
Charles Kerr
deb25906d0
(trunk libT) fix #1765 : "if a downloaded file disappears, stop the torrent instead of redownloading it"
2009-08-13 17:50:41 +00:00
Charles Kerr
11717de1d0
(trunk libT) fix #2332 : filesystem-based error messages lack context
2009-08-13 17:25:26 +00:00
Charles Kerr
784464450a
(trunk libT) fix #2162 : .resume file doesn't get saved often enough when its contents change
2009-08-13 14:47:56 +00:00
Charles Kerr
bf1a544939
(trunk) all this commit does is remove trailing whitespace from some c, c++, and javascript source
2009-08-12 14:40:32 +00:00
Charles Kerr
24bb159bfe
(trunk libT) #2137 : .resume file gets saved too frequently
2009-08-07 05:29:37 +00:00
Charles Kerr
a4767894e7
(trunk) #1400 , #2308 : differentiate warnings and errors; differentiate between local messages and messages from the tracker
2009-08-05 01:25:36 +00:00
Charles Kerr
a8619eb645
(trunk libT) #529 : Time remaining for downloads is unreliable
2009-07-02 01:50:07 +00:00
Charles Kerr
39330501e4
(trunk) #2222 : Make DHT support a compile-time option, enabled by default
2009-06-21 08:57:26 +00:00
Charles Kerr
683073855e
(trunk libT) revert most of r8693 as a quick fix for a possible alignment issue on a NAS
2009-06-16 19:31:17 +00:00
Charles Kerr
deb679dab0
(trunk libT) avoid an extra per-torrent malloc/free by aggregating its tr_bandwidth into its struct
2009-06-14 22:19:19 +00:00
Charles Kerr
3d7cc36424
(trunk) #7 : DHT support. This is a work in progress... no gui/rpc support yet
2009-05-19 18:38:26 +00:00
Charles Kerr
29b1d3e2cc
(trunk) #920 : add "move data" to libT so all clients can use it
2009-05-13 15:54:04 +00:00
Charles Kerr
7f60d9db17
(trunk gtk) #1473 : Properties dialog should let you edit/view multiple torrents at once
2009-04-24 01:37:04 +00:00
Charles Kerr
f4dde1eb67
(trunk libT) omit some unnecessary tests on the bitfield checks. these seem small, but bitfields are always the top CPU abuser when I profile...
2009-04-11 03:24:36 +00:00
Charles Kerr
81766a8dcb
(trunk libT) another possible fix for #1894 : Crash when download finishes and seed ratio is already met
2009-04-09 14:10:31 +00:00
Charles Kerr
b6daa50ecf
(trunk rpc) add the ability to set file priorities and download flags when adding a new torrent via rpc
2009-04-02 20:43:42 +00:00
Charles Kerr
cc1a4ec1e9
(trunk) rpc changes:
...
1. new field "blocklist-size" to session-info, so RPC clients can know how big the blocklist is
2. new method "torrent-reannounce" so RPC clients can ask the tracker for more peers
2009-03-26 18:06:54 +00:00