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
Charles Kerr
b3663db916
#811 : fix r5329 error in trunk.
2008-03-24 16:10:04 +00:00
Charles Kerr
2ca35e1ea7
allow NULL as the second argument to tr_torrentFiles()
2008-03-22 18:27:29 +00:00
Charles Kerr
c63b548195
fix bug that caused very large torrents to crash Transmission
2008-03-22 18:10:59 +00:00
Charles Kerr
531dd851ad
more string work before the freeze. (1) use %'d to get thousands' grouping in end-user strings (2) follow HiG capitalization, quotation guidelines (3) fold a few more strings
2008-03-19 20:07:27 +00:00
Charles Kerr
05c6938f5a
changes to message logging: (1) bring back "Torrent hasn't responded yet", but only in the message log. (2) make PEX messages debug. (3) log a message when a torrent reaches completion.
2008-03-18 16:56:01 +00:00
Charles Kerr
913f2843b2
#740 : back out the previous "fix" because it caused an regression in the mac client
2008-03-18 16:26:45 +00:00
Charles Kerr
146b9df023
meh, too early in the morning :)
2008-03-13 11:59:19 +00:00
Charles Kerr
18ab99970b
fix r5243 typo reported by BentMyWookie
2008-03-13 11:57:42 +00:00
Charles Kerr
29f092197f
#138 : per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages
2008-03-13 03:53:18 +00:00
Charles Kerr
e3c1d221fb
#781 : experimental commit on the "failed data" issue.
2008-03-13 00:38:16 +00:00
Charles Kerr
909cb89b43
even more i18n string work, w/more feedback and reading through the transmission.pot file.
2008-03-08 01:43:20 +00:00
Charles Kerr
7200b27a18
lots more i18n string work -- making strings more consistent, folding redundant strings together, etc.
2008-03-07 20:48:36 +00:00
Charles Kerr
5e3dcb5f6f
#751 : more digging to try to figure out where the problem is.
2008-03-06 13:24:44 +00:00
Charles Kerr
84a8592d1d
first cut at adding i18n hooks into libtransmission.
2008-03-04 02:02:25 +00:00
Charles Kerr
6b1001600b
remove scaffolding that was accidentally committed in r5183 a few minutes ago
2008-03-02 19:55:04 +00:00
Charles Kerr
d712545433
don't crash in makemeta when trying to build a torrent from files you don't have read access to. (wereHamster)
2008-03-02 19:42:45 +00:00
Charles Kerr
f00dd3cbd3
possibly-better patch for #740 .
2008-02-27 20:44:46 +00:00
Charles Kerr
82d0cd852a
#740 fix tr_torrentParse() leak when adding duplicate torrents.
2008-02-27 20:16:01 +00:00
Charles Kerr
9ee96fd0dc
add `verify' command to ipc.
2008-02-27 17:38:39 +00:00
Charles Kerr
8cc587a66f
more housekeeping: benc_val_t --> tr_benc
2008-02-26 21:58:58 +00:00
Charles Kerr
58b655338a
libT: add tracker information to tr_stat. gtk: add `tracker' tab to inspector
2008-02-21 07:29:39 +00:00
Charles Kerr
cfe068876e
remove unnecessary #includes
2008-02-19 18:39:49 +00:00
Charles Kerr
4456c2dd90
(gtk) #544 : remove fast-resume cache when appropriate
2008-02-19 05:03:56 +00:00
Charles Kerr
6fb57dcd59
modify "verify local data" to not lose the blocks in incomplete pieces
2008-02-15 16:00:46 +00:00
Charles Kerr
d360607a02
fix a possible crash when deleting a torrent.
2008-02-13 01:22:55 +00:00
Charles Kerr
7cf9f8cc35
#417 : add the libtransmission bits for telling users when they can "Ask Tracker for More Peers"
2008-02-09 17:07:30 +00:00
Charles Kerr
88cfec047f
#666 : pausing in the middle of "verify local data" makes T forget about the nonverified portion
2008-02-01 01:38:55 +00:00
Charles Kerr
0f981db778
#665 : Ratio calculations aren't strictly accurate when re-seeding a torrent
2008-01-29 16:33:29 +00:00
Charles Kerr
b1cd6ecccc
remove unused "max unchoked peers" feature. fix obsolete TR_FLAG_SAVE comment.
2008-01-23 17:06:36 +00:00
Charles Kerr
de515ee339
if the torrent's download path doesn't exist, don't create it -- it's might be a removeable disk that got unplugged.
2008-01-18 19:13:32 +00:00
Charles Kerr
5965d8d1ae
handle tr_torrentClose( NULL ) gracefully.
2008-01-16 17:57:13 +00:00
Charles Kerr
549778dc7e
#589 fix crash that occurred when the next-to-last file in a torrent ended on a piece boundary and the last file had a size of 0 bytes.
2008-01-08 03:08:36 +00:00
Charles Kerr
3cfbb199af
remove unnecessary assertion
2008-01-05 19:01:51 +00:00
Charles Kerr
15ffb4232e
tr_stat.ratio now returns TR_RATIO_INF when appropriate
2008-01-04 19:13:30 +00:00
Charles Kerr
d417fe8a79
speedup calculatePiecePriority(). This should give faster startup for torrents w/lots of files.
2008-01-02 20:37:22 +00:00
Charles Kerr
2b7a82b9a8
fix r4425 oops
2008-01-02 20:34:20 +00:00
Charles Kerr
0e56fa0baf
test code for #575 (m1b's bug)
2008-01-02 18:05:05 +00:00
Charles Kerr
288e2ca814
don't stop the torrent just because of a tracker error
2008-01-01 23:37:50 +00:00
Charles Kerr
ce6c33b7bf
set copyright info to 2008
2008-01-01 17:20:20 +00:00
Charles Kerr
aacb21fdc4
silence a debug message gone wild
2007-12-27 22:33:24 +00:00
Charles Kerr
819b83d90d
fix another file priority bug.
2007-12-25 06:37:21 +00:00
Charles Kerr
f8bc11e094
fix a couple of related file priority bugs.
2007-12-25 05:42:33 +00:00
Charles Kerr
473907d891
a little housekeeping: move tr_torrent stuff into its own header
2007-12-25 05:37:32 +00:00
Charles Kerr
16e273ed05
fix torrent parsing bug reported by m1b, SoftwareElves, and BentMyWookie
2007-12-25 01:23:07 +00:00
Charles Kerr
401cfbdb6b
replace the per-torrent PEX setting with a global one, as per discussion with SoftwareElves and BentMyWookie
2007-12-24 05:03:40 +00:00
Charles Kerr
b13d8d1dd6
save a copy of the torrent's metadata in tr_torrentInit(), not tr_torrentParse(). remove dead code from metainfo.c.
2007-12-22 18:00:47 +00:00
Charles Kerr
c946168b1e
(1) fix peer limits in fastresume (2) possible fastresume corruption (3) add `save' field to torrent ctor
2007-12-22 17:30:31 +00:00
Charles Kerr
2764f9a140
fix indentation errors in r4278.
...
fix consistency errors between ctor and the new functions in r4278.
2007-12-22 04:11:17 +00:00
Mitchell Livingston
3449e2d15c
separate getting/setting # connections and # unchoked
2007-12-22 04:00:19 +00:00
Charles Kerr
7542573044
brush away the last remnants of tr_torrentInit()
2007-12-22 03:51:12 +00:00
Charles Kerr
93f69d2b5c
(gtk) add options to set global & per-torrent peer connection limits
2007-12-22 00:06:38 +00:00
Charles Kerr
8c7434dded
fix a different r4267 bug, also reported by John_Clay
2007-12-21 22:38:01 +00:00
Charles Kerr
69f1ee48c1
remove some stubbed code that should've been removed in the last checkin
2007-12-21 22:24:37 +00:00
Charles Kerr
287975caf5
the torrent ctor is here.
2007-12-21 22:18:40 +00:00
Charles Kerr
5c4f841c7e
added tr_torrentSetPeerLimits(), tr_torrentGetPeerLimits(), tr_setGlobalPeerLimit(), tr_getGlobalPeerLimit()
2007-12-20 21:44:16 +00:00
Charles Kerr
75d4a2b8c2
fix an obscure bug in tr_torrentStat() where (% verified + % unverified + % unavailable) could be > 1.0
2007-12-19 05:57:55 +00:00
Charles Kerr
e9ca72237f
if tr_torrentStat() is called again in the same second for a torrent, return the cached value.
2007-12-19 02:44:21 +00:00
Charles Kerr
d58d5210d0
fix tr_stat error: fields desiredSize and desiredAvailable could be too large.
2007-12-18 05:01:00 +00:00
Charles Kerr
0e1e7efd3b
take inspiration from Solomon when handling odd tracker errors that confuse tracker's request queue: stop the torrent.
...
when the tracker gives us errors that confuse the tracker work queue,
2007-11-30 23:37:44 +00:00
Charles Kerr
e354b82452
disable SWIFT on private trackers, because they are typically ratio-based sites where you *want* to upload as much as possible to deadbeats
2007-11-26 04:05:12 +00:00
Charles Kerr
3b04f824e0
fix libT crash reported in the forums
2007-11-23 02:14:21 +00:00
Charles Kerr
260033847f
fix ticket #451 (Files remain in use after removal)
2007-11-21 16:16:59 +00:00
Charles Kerr
172efd42fa
fix "manual update" crash reported by Gimp_ and BentMyWookie
2007-11-20 16:50:48 +00:00
Charles Kerr
37969406b2
Add "Status" column to tr_peer_stat.
2007-11-17 23:43:33 +00:00
Charles Kerr
a1805875ee
try to fix the platform.c:278 issue reported by dave in http://transmission.m0k.org/forum/viewtopic.php?t=2949
2007-11-16 20:41:41 +00:00
Charles Kerr
1464dc7962
fix r3830 bug reported by Gimp_
2007-11-16 05:43:47 +00:00
Charles Kerr
d89d6faad4
don't require clients to call tr_torrentClearStatusCallback() before tr_torrentClose().
2007-11-11 03:14:01 +00:00
Charles Kerr
fd430fde90
undoing the r3773-r3774 experiment.
2007-11-09 20:07:52 +00:00
Charles Kerr
67b719c2de
on Darwin, use NSCParameterAssert() instead of assert().
2007-11-09 19:50:40 +00:00
Charles Kerr
96351b93ef
part 1 of the data corruption fix: plug the leaky abstraction in fdlimit
2007-10-30 18:35:06 +00:00
Charles Kerr
caa4170271
#426 0.91rc1: if pex is disabled on a stopped torrent, pressing "resume" causes pex to be re-enabled. (reported by pea)
2007-10-28 19:42:47 +00:00
Charles Kerr
515d04de1a
Ticket #395 (ensure file exists when starting)
2007-10-27 14:17:51 +00:00
Charles Kerr
e6fbcaeae6
Quick & dirty fix to crasher ticket #415 .
2007-10-26 03:02:23 +00:00
Charles Kerr
814a56046d
fix ul/dl speed wart reported by BentMyWookie
2007-10-21 15:47:26 +00:00
Charles Kerr
b7258fbf33
try to better sync up the tr_stat fields, as requested by BentMyWookie
2007-10-20 21:07:11 +00:00
Charles Kerr
4acfe5e1b5
have gtk+ use the batch form of setFilePriorities(). remove saveFastResumeSoon().
2007-10-19 23:44:01 +00:00
Charles Kerr
25fa56d294
* don't fire the "status changed" event if the status changes while a torrent's being started for the first time.
...
* cleaner setting of the DND flags in the gtk+ client.
* cpStatus cleanup.
2007-10-19 23:23:21 +00:00
Charles Kerr
6a3a61716b
when seeding, instead of giving the the ratio as N/A, give uploaded/torrent_size (Waldorf_)
2007-10-18 20:42:39 +00:00
Charles Kerr
9da5aaef2c
huge tracker cleanup for the "no response from tracker" issue
2007-10-17 18:59:58 +00:00
Charles Kerr
e698756c98
remove unused flags
2007-10-15 20:58:39 +00:00
Charles Kerr
c65d6a20c3
remove dead code tr_file_stat::completionStatus
2007-10-15 18:45:25 +00:00
Charles Kerr
159f1de576
remove dead code tr_stat::cpStatus
2007-10-15 18:28:49 +00:00
Charles Kerr
57eaa27970
Fix bug that could initiate pex in private torrents.
2007-10-14 17:21:24 +00:00
Charles Kerr
38d6b03a8e
report a speed of 0 when no peers are connected.
2007-10-13 23:57:13 +00:00
Charles Kerr
bd01906f0c
more banging on the fastresume-destination-directory thing. this permuation makes the fastresume destination a fallback, to be used only if the client didn't pass in a directory to tr_torrentInit*()
2007-10-13 15:29:15 +00:00
Charles Kerr
9211c57ad2
merge in the parts of peerutils' peer pruning code that still make sense
2007-10-13 13:54:05 +00:00
Charles Kerr
05bcd5e01c
fix r3379 bug that forced us to recheck the torrents every startup
2007-10-13 03:58:54 +00:00
Charles Kerr
ff36475fad
Add an option for saving a torrent's destination path in its file. This can be overridden by clients with the `destination' argument in tr_torrentInit*()
2007-10-12 19:45:51 +00:00
Charles Kerr
568e97d220
recheck the completeness stats after `recheck torrent'
2007-10-07 04:32:37 +00:00
Charles Kerr
17743d8d04
tweak the `start torrent' code based on feedback from BentMyWookie
2007-10-04 23:47:49 +00:00
Charles Kerr
53aef0a48c
Simplify the tracker/pause/close/recheck/start code.
2007-10-04 19:58:30 +00:00
Charles Kerr
77d7cf76a1
fix looong-standing potential dangling pointer bug reported by BMW
2007-10-02 03:33:17 +00:00
Charles Kerr
6ed2d25af7
threads. gotta love 'em.
2007-10-02 02:59:07 +00:00
Charles Kerr
e4fec9eefd
add tr_stat.peersKnown to indicate how many peers exist in the peer `pool'
2007-10-01 15:51:54 +00:00
Charles Kerr
5c11c58113
simplify libT locks now that it's (more-or-less) single-threaded. fix deadlocks. make tr_locks nestable.
2007-10-01 15:17:15 +00:00
Charles Kerr
b3d6391413
test to see if the new locking code can fix the old `stop' bug
2007-09-29 14:25:52 +00:00
Charles Kerr
f0c9f9a99a
add a callback to notify clients when a torrent's state changes
2007-09-28 14:51:34 +00:00
Charles Kerr
d3077bbce1
round 2 of minor revisions to tr_stat
2007-09-27 03:30:22 +00:00
Charles Kerr
439c1f38c1
some experimental code. (1) try to improve throughput to peers. (2) add first draft of new tr_stat fields requested by BentMyWookie (3) raise the per-torrent peer limit to 100 to match LibTorrent's defaults
2007-09-27 03:03:38 +00:00
Charles Kerr
ee6a0b8945
modify the tr_stat struct as hashed out by charles_ and BentMyWookie. sync gtk, ipc, and wx clients.
2007-09-26 01:55:04 +00:00
Charles Kerr
904359a049
* fix oops from last checkin
...
* remove some unused fields from internal structures
2007-09-25 22:37:23 +00:00
Charles Kerr
7a15abaf7a
better handling of tracker error messages.
2007-09-25 18:39:58 +00:00
Charles Kerr
b402687c93
* add sanity checks to incoming piece data requests. This may solve the inout.c:99 assertion failure.
...
* rename the gtk client from `transmission-gtk' to `transmission' for parity with the mac client.
2007-09-23 23:38:39 +00:00
Charles Kerr
4834dc4b13
fix crash-on-shutdown
2007-09-23 19:24:06 +00:00
Charles Kerr
b3fde0b43b
tweak responsivenes on switching between `uploading' and `downloading' when a user changes a file's do-not-download state
2007-09-23 14:17:39 +00:00
Charles Kerr
89da2294b1
* when a torrent's done downloading, have it switch to seeding mode.
...
* tweak the gtk+ client's torrent inspector's display of transfer rates
2007-09-23 13:53:44 +00:00
Charles Kerr
56b0e5d1ac
* remove some console messages.
...
* scrape sooner when peers are added.
* added stub code for the connection manager code
2007-09-22 00:22:10 +00:00
Charles Kerr
9248143ce8
fix recursive crash when stopping a torrent, reported by plantain. silence a few more console messages.
2007-09-21 14:20:55 +00:00
Charles Kerr
4d15bbdc2a
slightly less broken handling of cases where we can't bind to our listening port.
2007-09-21 05:31:29 +00:00
Charles Kerr
fb70a9cca0
remove the backwards compatability typedefs at BentMyWookie's suggestion. update libT, gtk, daemon, and cli accordingly...
2007-09-20 20:14:13 +00:00
Mitchell Livingston
76da1185ca
merge encryption branch to trunk (xcode project is still out of date)
2007-09-20 16:32:01 +00:00
Charles Kerr
bae07d471e
added support for `corrupt' announce tag s.t. corrupted bytes don't count towards your download ratio
2007-08-21 15:17:02 +00:00
Charles Kerr
64faed5c47
better saving of run/stopped state.
2007-08-20 23:36:18 +00:00
Charles Kerr
4e82903313
better fix for the leak in r2870
2007-08-19 04:03:06 +00:00
Charles Kerr
b0919dca34
...and, yet another memory leak, this time when trying to add a torrent that can't be added
2007-08-19 03:42:58 +00:00
Charles Kerr
43bfc5cd7f
update version.sh to exclude third-party. add $Id:$ to the new files s.t. version.sh will find them.
2007-08-18 17:05:51 +00:00
Charles Kerr
5f5a743790
the new tracker code seems to be working, so now it's time for me to learn yet again how much better users are at noticing bugs than I am. :)
2007-08-16 20:00:06 +00:00
Charles Kerr
7254a96ce8
let fastresume remember which torrents are stopped and which are running.
2007-08-13 16:43:33 +00:00
Charles Kerr
f2daeb242d
(trunk) add tweak to boost the priority of the first and last piece of a file so that early previewing is possible. Suggested by mtolman in http://transmission.m0k.org/forum/viewtopic.php?t=2110
2007-08-08 15:07:06 +00:00
Charles Kerr
82311abfbe
(trunk) fix assertion bug in torrent.c::fileByteCompleted()
2007-08-07 14:17:37 +00:00
Charles Kerr
0f85cc3297
continue whittling away at internal.h to reduce the global #include dependencies
2007-07-31 14:26:44 +00:00
Charles Kerr
d209052051
add portability wrapper for in_port_t...
2007-07-30 18:04:10 +00:00
Charles Kerr
1be185aacd
(libT) get "update tracker" working again.
...
(gtk) add "update tracker" button.
2007-07-30 17:11:00 +00:00
Charles Kerr
ebb141b232
better encapsulation of platform-specific constructs: tr_thread_t, tr_cond_t, tr_lock_t
2007-07-30 15:27:52 +00:00
Charles Kerr
e07d0220a9
this looks bug but it's not: just janitorial cleanup, moving #includes from headers into source file
2007-07-29 18:11:21 +00:00
Charles Kerr
530507760b
fix r2531 bug reported by Lacrocivious
2007-07-28 16:31:08 +00:00
Charles Kerr
29367fda62
add a temporary debugging statement for Lacrocivious
2007-07-28 15:58:59 +00:00
Charles Kerr
79a0081092
a nice patch that makes the three most CPU-hogging functions (as reported by Shark) essentially free and reduces memory overhead by 8 bytes per piece per torrent. Lots of asserts for extra testing fun.
2007-07-28 15:43:34 +00:00
Charles Kerr
a180698e8a
save a little bit of memory per-torrent.
2007-07-27 23:07:26 +00:00
Charles Kerr
8f4fb4efbe
speed improvements to tr_torrentStat() by folding two expensive & redundant functions together.
2007-07-27 01:22:49 +00:00
Charles Kerr
3e40e06938
avoid null pointer dereferencing in tr_torrentInit*() as reported by wereHamster
2007-07-25 18:43:21 +00:00
Charles Kerr
e8fb29ea44
fix compiler warnings reported by wereHamster
2007-07-25 17:27:19 +00:00
Charles Kerr
66883e72a9
fix double-free crash on opening a corrupt torrent file. reported by wereHamster
2007-07-25 17:19:29 +00:00
Charles Kerr
95313e077a
fix off-by-one in r2488 reported by BentMyWookie. Hooray for assert()!
2007-07-25 02:28:25 +00:00
Charles Kerr
730d6df742
* fix overflow error from earlier today. (this was the crash talked about in IRC)
...
* fix long-standing error that occurred when pieceSize isn't evenly divisible by blockSize
* speed up and macro-ize piece-to-block conversions
2007-07-25 01:59:46 +00:00
Charles Kerr
339005346c
remove unused function tr_cpMostMissingBlockInPiece()
2007-07-24 17:08:45 +00:00
Charles Kerr
e1c18610be
remove unused function _tr_blockPosInPiece()
2007-07-24 16:04:43 +00:00
Charles Kerr
dd55805012
much faster rechecking of incomplete torrents. added tr_stat_t.recheckProgress field.
2007-07-24 01:33:59 +00:00
Charles Kerr
c7d97e5f0a
get "recheck files" working properly again.
2007-07-24 00:09:23 +00:00
Charles Kerr
eaca893b4c
set default torrent ul/dl speed limits from global ul/dl speed. as a side effect, totally decouples fastresume from inout.
2007-07-23 03:00:20 +00:00
Charles Kerr
a9526adbdd
put information messages in tr_inf(), not fprintf()
2007-07-21 18:31:08 +00:00
Charles Kerr
50f407933b
when closing torrents, don't try to re-stop torrents that are already stopped.
2007-07-21 18:03:24 +00:00
Charles Kerr
1d932b07c7
fix looooong-standing bug that choked tracker connections
2007-07-21 17:35:47 +00:00
Charles Kerr
4ef1592e6b
more work on the speed limits as hammered out w/BentMyWookie
2007-07-20 03:24:04 +00:00
Charles Kerr
459b8958cb
simplify xml.c and utils.c's dependencies
2007-07-19 11:54:37 +00:00
Charles Kerr
615afaa445
add extra state change checks
2007-07-19 03:48:27 +00:00
Charles Kerr
dbe96a9e82
fold per-torrent ul/dl speed cap settings into libtransmission. synchronize gtk+ client with this change. breaks os x client.
2007-07-18 05:27:45 +00:00
Charles Kerr
d182f5b4b6
test fix tr_getDone() for BentMyWookie
2007-07-17 00:31:38 +00:00
Charles Kerr
9c7a913cdc
r2377 cleanup
2007-07-16 23:52:05 +00:00
Charles Kerr
2f173fd4d4
fix overlap bug in file-selection where files adjacent to a "do not download" file could end up missing a few bytes.
2007-07-16 19:57:34 +00:00
Charles Kerr
1d95bcc689
re-randomize peer_id each time we start a torrent. (ticket #257 )
2007-07-16 11:19:44 +00:00
Charles Kerr
82fbfb4c47
disambiguate some of the tr_stat_t variables' names
2007-07-16 00:50:43 +00:00
Charles Kerr
7229f6c56b
remove more functions made obsolete by tr_torrentFile().
2007-07-15 20:29:57 +00:00
Charles Kerr
59459feb26
replace tr_torrentGetFileStatus() with tr_torrentFiles() for BMW
2007-07-15 20:05:32 +00:00
Charles Kerr
321b01d430
make tr_torrentStat() const.
...
malloc, rather than calloc, the buffer in strndup.
2007-07-15 19:12:54 +00:00
Charles Kerr
4a0c4b6fbc
make tr_torrentGetFileStatus() more accurate
2007-07-15 18:47:43 +00:00
Charles Kerr
ad6ae58e06
fix the bugs outlined by cluthi81 in ticket #255 .
2007-07-15 17:36:56 +00:00
Charles Kerr
73ca83a455
split tr_stat_t's peersTotal into peersTotal and peersConnected
2007-07-15 17:19:07 +00:00
Mitchell Livingston
975e066919
whoops
2007-07-15 15:45:08 +00:00
Mitchell Livingston
1facf22f58
move towards fixing activity display bug
2007-07-15 15:43:31 +00:00
Charles Kerr
a572902dae
make tr_stat_t and tr_peer_stat_t more accurately reflect ul/dl rates
2007-07-15 05:18:18 +00:00
Charles Kerr
8bf8cb4c47
if a torrent's status changes due to a manual recheck while a torrent is stopped, update the torrent's seeding/downloading state appropriately.
2007-07-15 04:19:39 +00:00
Charles Kerr
4311b160b5
add tr_torrentGetFileStatus() for BentMyWookie
2007-07-15 03:26:22 +00:00
Josh Elsasser
1ecbe8da65
Change a couple functions to take an in_addr pointer instead of an in_addr.
...
Forward declare struct in_addr and include the relevant headers in the .c files where it's used.
2007-07-14 16:29:21 +00:00
Charles Kerr
f0d97e1a02
fix bug that gave the wrong peer count when uploading.
2007-07-13 22:22:46 +00:00
Charles Kerr
e6e6d574db
second draft of a fix for the tracker communication bug reported by TMT
2007-07-13 01:34:14 +00:00
Charles Kerr
b667ad3037
... and do the same for tr_torrentGetFileDL()
2007-07-13 01:17:21 +00:00
Charles Kerr
a3eb718162
revise tr_torrentSetFilePriorities() for BMW
2007-07-13 00:27:47 +00:00
Charles Kerr
5e4a49be16
first draft of a fix for the tracker communication bug reported by TMT
2007-07-12 20:48:13 +00:00
Charles Kerr
f86cf5449d
fix rate control bug reported by John_Clay
2007-07-10 17:07:18 +00:00
Charles Kerr
adb3d2399b
fix dnd-setting bug created while splitting DND and priorities into two separate entities
2007-07-10 03:41:16 +00:00
Charles Kerr
0c39aa6565
minor cleanups of last checkin
2007-07-10 03:23:07 +00:00
Charles Kerr
ed226a32ac
splitting dnd and priorities apart, and moving the file storage for those fields into fastresume
2007-07-10 03:12:46 +00:00
Charles Kerr
bcb3cf99ab
Revert version back to 079 as per BentMyWookie's suggestion
2007-07-09 23:09:00 +00:00
Charles Kerr
b79beeff66
clean up #includes a bit.
2007-07-09 20:10:42 +00:00
Charles Kerr
18aa394019
when creating a torrent, initialize its cpStatus field before passing it to the torrent's worker thread
2007-07-02 01:29:05 +00:00
Charles Kerr
bfee506ff4
Move the initial fastresume check into the thread that creates the torrent, rather than in the torrent's worker thread
2007-07-01 19:10:14 +00:00
Charles Kerr
4784289921
fix bug that caused libtransmission to think private torrents were public.
2007-06-30 21:29:49 +00:00
Charles Kerr
b6819d6a12
fix r2247 oops
2007-06-30 15:16:08 +00:00
Charles Kerr
3e0cac55fd
(1) check a torrent's `fast resume' state as soon as it's added. (2) in gtk, show % done even when torrent is stopped
2007-06-30 13:53:10 +00:00
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
2b1cf88ea9
fix crash reported by persept
2007-06-30 12:46:45 +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
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
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
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
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
Mitchell Livingston
a4d5dfa328
avoid ridiculously rate divide-by-0
2007-06-19 00:08:06 +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
Mitchell Livingston
4ada334f57
patches from Charles Kerr to update the Inspector in GTK and fix some memory leaks
2007-06-06 00:30:13 +00:00
Mitchell Livingston
c8ac8e312b
make stalled check work for minutes, not seconds
2007-05-28 16:40:56 +00:00
Mitchell Livingston
0f9766145b
patch from Charles Kerr: perform file checking one at a time ( fixes #124 )
2007-05-28 15:23:28 +00:00
Mitchell Livingston
b4d71e2e9a
store date of last activity
2007-05-25 19:14:42 +00:00
Mitchell Livingston
07bc103001
this shouldn't have been committed
2007-05-24 16:01:20 +00:00
Mitchell Livingston
13ab13d0d0
fix bug where when a file location was changed the valid download amount would double
2007-05-24 15:57:04 +00:00
Josh Elsasser
81a6d96d6e
Remove tr_handle_t argument from tr_torrentClose().
2007-05-23 04:45:20 +00:00
Mitchell Livingston
3f2861f0c7
determine upload/download rates the old way, which is not the most accurate way at a few points, but should have a positive overall impact
2007-05-16 02:03:18 +00:00
Mitchell Livingston
3af24be44e
separate code for determining if there is a download with same name and location
2007-05-11 18:56:59 +00:00
Mitchell Livingston
7e19df5444
only allow one active transfer with the same name in the same location
2007-05-05 14:43:52 +00:00
Mitchell Livingston
305ccf1cd5
add ability to remove torrent cache
2007-04-28 01:34:39 +00:00
Mitchell Livingston
16aad395e2
streamline eta calculation
2007-04-21 13:57:30 +00:00
Mitchell Livingston
83a565b5f1
simplify ratio calculation a little
2007-04-21 13:48:05 +00:00
Mitchell Livingston
d31d79b15b
determine ratio by using download amount as the larger of amount downloaded by T and percent times file size
2007-04-21 06:38:37 +00:00
Mitchell Livingston
ea839e8ca9
expand the last commit a bit so that ratio is calculated with the actual downloaded amount if amount downloaded in T is 0. This should eliminate ever showing infinity for ratio.
2007-04-20 23:51:15 +00:00
Mitchell Livingston
dbc1e1619e
if seeding without ever downloading with T, calculate ratio by using the file size as amount downloaded
2007-04-20 23:31:49 +00:00
Josh Elsasser
498cbddb2e
Add remaining file download to tr_stat_t.
2007-04-04 00:55:53 +00:00
Josh Elsasser
58333068e8
Cache peer client name.
...
Don't create an 'unknown client' name with nonprintable characters.
2007-04-03 18:22:58 +00:00
Josh Elsasser
7e03349f76
Merge r1634 to trunk.
2007-04-02 20:38:23 +00:00
Josh Elsasser
b8d03e5958
Add API function to disable PEX for a torrent.
2007-03-31 19:19:09 +00:00
Josh Elsasser
66cb8d5835
Move debug message, we don't want to see it 30 times a second.
2007-03-29 01:09:03 +00:00
Josh Elsasser
367426b51b
Show peers found and used when adding new peers.
...
Accept --without-foo in addition to --disable-foo in the configure script.
2007-03-29 00:19:09 +00:00
Josh Elsasser
3394f8d2a4
Revert unintended changes.
2007-03-26 19:21:25 +00:00
Josh Elsasser
d390c4c871
Don't save or load cached peers for private torrents.
2007-03-26 19:19:33 +00:00
Josh Elsasser
09c87aad84
Merge PEX branch, I hope this works.
2007-03-23 08:28:01 +00:00
Josh Elsasser
92637d591e
Optionally return the info hash after attempting to load a duplicate torrent.
2007-03-22 18:07:22 +00:00
Josh Elsasser
494ca91fd6
Append a frontend-specific tag to saved torrents.
...
This prevents one frontend from deleting a saved torrent used by another.
2007-03-13 06:56:50 +00:00
Josh Elsasser
5a62e83689
Don't use sprintf, strcpy, or strcat.
2007-03-12 00:04:11 +00:00
Josh Elsasser
0e79140f26
Don't clobber the private flag during torrent initialization.
...
Display if the private flag is set in transmissioncli -i
2007-03-06 01:58:14 +00:00
Josh Elsasser
67826df085
Use a tr_tracker_info_t * directly in tr_info_t and tr_tracker_t.
2007-02-27 04:00:38 +00:00
Josh Elsasser
963a4fdc81
Clamp file progress to 0.0-1.0
...
Clear focus when opening files dialog.
2007-02-23 11:49:18 +00:00
Josh Elsasser
efdc43ebb7
Add function to return the progress of each file in a torrent.
2007-02-23 11:26:48 +00:00
Mitchell Livingston
5d2ae4eb61
simplify options for download limits in inspector with 3 check states: mixed for system defaults, checked for override with limit, and no check for no limit
2007-02-02 17:33:32 +00:00
Mitchell Livingston
370e9ab355
do the same calculation one time per loop
2007-01-31 16:23:07 +00:00
Eric Petit
ddcfa59c96
Always take the global lock when accessing the torrent list (fixes a race condition crash)
2007-01-29 08:24:09 +00:00
Josh Elsasser
263bf6ff0c
Check for private flag in main dict too.
2007-01-27 22:37:10 +00:00
Josh Elsasser
adfd4e7ca7
Rework the port handling a bit to allow different bound and advertised ports.
2007-01-27 21:17:10 +00:00
Eric Petit
1634595bb0
Compile before you commit
2007-01-21 07:32:31 +00:00
Eric Petit
09c277257b
Mark a peer as uploading if we are unchoked *and* interested
2007-01-21 07:27:57 +00:00
Eric Petit
14aa4e5ab0
Officially give up on making libT reentrant, and simplify our code instead
2007-01-21 07:16:18 +00:00
Eric Petit
e63e4ab38f
Reorganizes a few things, don't accept two connections from the same IP
2007-01-21 06:42:05 +00:00
Eric Petit
da84461d9c
Don't let tr_torrentStop return until files are closed, so that the UI can trash them safely if requested ( fixes #186 )
2007-01-19 15:24:20 +00:00
Eric Petit
4a567871bb
clean up
2007-01-19 11:19:20 +00:00
Eric Petit
918c083618
Fix warnings
2007-01-19 08:40:06 +00:00
Eric Petit
09c096731c
Another split
2007-01-19 08:36:49 +00:00