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
Charles Kerr
b71a2985b3
#684 : Use XDG basedir spec for configuration and cache files in $HOME
2008-04-05 20:12:11 +00:00
Charles Kerr
eb24ad760d
(1) make tr_torrentRates() faster.
...
(2) new function: tr_torrentGetStatus() for when you need the status but not the overhead of tr_stat
2008-04-01 02:35:04 +00:00
Charles Kerr
3e4168025b
experimental commit to save 1888 bytes from each tr_torrent
2008-03-31 19:34:20 +00:00
Charles Kerr
51a82e70c1
remove `TR_STATUS_DONE' from libtransmission's public API. It's useful as an internal state but not for code calling libtransmission.
2008-03-31 17:59:16 +00:00