Charles Kerr
52c3243b4b
more test code to address "router death". Based on maxintech's feedback in the forums, try making the peer manager's reconnect intervals and volume more like 1.00
2008-01-17 03:43:08 +00:00
Charles Kerr
6c6228770c
fix byte ordering of the port in tr_peerIoAddrStr()
2008-01-17 00:08:40 +00:00
Charles Kerr
377c00a826
a test: if we set the reconnect period to any given peer to > 900 seconds, will that make "router death" go away? 900 seconds is the usual router setting for timing out bad sockets.
2008-01-16 20:24:18 +00:00
Charles Kerr
5965d8d1ae
handle tr_torrentClose( NULL ) gracefully.
2008-01-16 17:57:13 +00:00
Charles Kerr
61fc032dc1
sync peersSendingToUs with isDownloadingFrom, reported by BentMyWookie
2008-01-16 17:52:47 +00:00
Charles Kerr
a1e20dd7e9
more work on "router death": if we can't connect to a given peer, retry it fewer times and wait much longer between retries.
2008-01-16 15:13:02 +00:00
Mitchell Livingston
ff833b37d6
fix compiling error with last commit
2008-01-15 22:40:58 +00:00
Charles Kerr
d48f7a0026
housekeeping. tweak comments, group API calls a bit.
2008-01-15 22:00:58 +00:00
Charles Kerr
ca70ef18bb
drive the throttle even lower.. max of 16 connections per second.
2008-01-15 06:02:47 +00:00
Charles Kerr
925153e67b
#620 : assertion failure: `pad_d_len <= 512' in handshake.c:527
2008-01-14 16:17:02 +00:00
Charles Kerr
2c7a7c4253
throttle the number of new connections per second down even further from 48 to 32 because of the continuing "kills my router" reports
2008-01-13 21:05:38 +00:00
Charles Kerr
e7163a5433
#593 : 1.01 crash
2008-01-13 15:52:56 +00:00
Charles Kerr
90f5c61327
tweak the conncetions a little bit
2008-01-11 19:44:45 +00:00
Charles Kerr
876cd4c413
test patch for the "router death" bug: throttle the number of connections made per second
2008-01-11 18:13:09 +00:00
Charles Kerr
fe9cabbe4b
fix r4608 oops
2008-01-11 02:40:32 +00:00
Charles Kerr
39b1db460d
follow the spec's suggestion that new connections be 3x as likely for optimistic unchoke
2008-01-11 02:09:20 +00:00
Charles Kerr
6f6adb1d53
try to ramp up fast connections more quickly.
2008-01-11 00:38:26 +00:00
Charles Kerr
939f1541c6
mingw portability fixes: libtransmission #includes
2008-01-10 19:52:56 +00:00
Charles Kerr
6432363f64
mingw portability fixes: #includes in natpmp.c
2008-01-10 19:27:13 +00:00
Charles Kerr
8c6c822acd
mingw portability fixes: getrlimit/setrlimit in fdlimit
2008-01-10 19:22:11 +00:00
Charles Kerr
3a6396a3cb
mingw portability fixes
2008-01-10 18:52:46 +00:00
Mitchell Livingston
bedfab2ccc
clarify peer upload and download
2008-01-10 00:52:02 +00:00
Charles Kerr
5d93bd2c93
a smaller buffer size seems, counterintuitively, to improve the overall transfer rate when speed limits are turned on, because it gives more peers a chance to be involved in xfer before we hit the limit.
2008-01-09 19:22:25 +00:00
Charles Kerr
591f7f8b10
* improve the unchoking algorithm.
...
* when deciding which peers to connect to, take peer's previous speeds into account
* longer delay interval before reconnecting to peers that didn't give us data
* added uTorrent-inspired "flags" column in tr_peer_stat and gtk's torrent details' "peer" tab
2008-01-09 17:33:43 +00:00
Charles Kerr
8bc02db55e
mollify a noisy debugging message
2008-01-08 20:08:45 +00:00
Charles Kerr
fcd4aa25e8
#601 : crash when in "deep logging" mode
2008-01-08 14:48:05 +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
4f0f6e150e
fix another OpenBSD alignment bug reported by naddy
2008-01-08 01:57:48 +00:00
Charles Kerr
6db7a5177f
#598 : fix openbsd alignment & #include issues reported by naddy
2008-01-07 19:17:43 +00:00
Charles Kerr
a7ff9218ab
grumble bikeshed grumble
2008-01-07 17:52:50 +00:00
Charles Kerr
30d00fbc53
cleanup
2008-01-07 06:19:34 +00:00
Mitchell Livingston
efd3910b09
patch from SWE to display the correct # of peers connected
2008-01-07 04:28:36 +00:00
Charles Kerr
a88af6a758
better fix for r4532
2008-01-07 00:42:53 +00:00
Charles Kerr
f98ab5b375
fix "other" error string in IPC. Reported by jan_doa_; fixed by SoftwareElves
2008-01-07 00:19:41 +00:00
Charles Kerr
1e45d3e478
better lazy generation of "allowed set": wait until we get the {have-all|have-none|bitfield} from the peer so that we'll know if they qualify for an allowed set
2008-01-06 22:20:44 +00:00
Charles Kerr
35f73c097c
lazy "allowed set" generation. add regression test for "allowed set" generation.
2008-01-06 21:56:30 +00:00
Charles Kerr
3cfbb199af
remove unnecessary assertion
2008-01-05 19:01:51 +00:00
Charles Kerr
6c3eab0a92
#585 : 1.00 could be sped up by elminating reconnect intervals for some peers
2008-01-05 18:17:56 +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
514f96418b
fix tr_buildPath() crash
2008-01-04 18:24:42 +00:00
Charles Kerr
638f0b0bae
`paused' torrent ctor argument wasn't being honored right.
2008-01-04 05:42:41 +00:00
Charles Kerr
085235b10b
remove some unused #include <ctype.h> directives
2008-01-03 20:17:01 +00:00
Mitchell Livingston
69c4b99995
fix for [4439]
2008-01-03 18:46:33 +00:00
Charles Kerr
09ca9f6dda
maybe fix i18n tracker error reported by haktar
2008-01-03 17:49:45 +00:00
Charles Kerr
57579bf576
#378 - use {get,set}rlimit to deal with open file limits
2008-01-03 16:36:20 +00:00
Charles Kerr
ceb608d9a3
#542 : handle torrent metainfo files whose info.name tag is missing or empty.
2008-01-03 16:01:29 +00:00
Charles Kerr
893b0c10a3
to try to prevent router overloads, make (MAX_RECONNECTIONS_PER_PULSE * RECONNECT_PERIOD_MSEC) smaller.
2008-01-03 05:30:45 +00:00
Charles Kerr
ce7b2521a3
tweak debug messages.
2008-01-03 05:29:31 +00:00
Charles Kerr
ee2cffa196
#579 : assertion failure in ~r4410
2008-01-03 03:45:10 +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
186681065d
explicitly include unistd.h for ssize_t
2008-01-01 17:01:18 +00:00
Charles Kerr
f9aea628aa
better handshaking with incoming connections from mainline peers
2008-01-01 00:20:07 +00:00
Charles Kerr
c282d753c6
add stats.h to the list of files included in libtransmission's tarball
2007-12-30 19:01:00 +00:00
Charles Kerr
882afbd3c3
add torrent.h to list of files included in libtransmission's tarball
2007-12-30 18:58:17 +00:00
Charles Kerr
245915258f
turn off a debugging message gone wild
2007-12-30 18:46:18 +00:00
Charles Kerr
60fb68cb7a
silence a debug message gone wild
2007-12-28 06:14:18 +00:00
Charles Kerr
c6d2e60f52
fix comment typo reported by BigBossman
2007-12-27 22:50:20 +00:00
Charles Kerr
970211acf0
roll back r4356
2007-12-27 22:38:53 +00:00
Charles Kerr
aacb21fdc4
silence a debug message gone wild
2007-12-27 22:33:24 +00:00
Charles Kerr
f88eb7d771
experimental code that should make tracker interaction (especially shutdown) much faster.
2007-12-27 21:48:41 +00:00
Charles Kerr
e319a6ffe4
dead code removal
2007-12-26 20:45:08 +00:00
Charles Kerr
71efb5c74b
add per-priority-level endgame mode
2007-12-26 07:25:50 +00:00
Charles Kerr
1f3084179e
remove debugging messages that aren't needed anymore.
2007-12-26 07:19:05 +00:00
Charles Kerr
e870440025
add a per-block request TTL of 120 seconds
2007-12-25 17:22:51 +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
6db02c401b
add message queueing flag to tr_initFull() too
2007-12-24 16:12:23 +00:00
Charles Kerr
bc84156d4f
add a messageLevel argument to tr_initFull()
2007-12-24 16:02:36 +00:00
Charles Kerr
35adeec1d0
(gtk) fix startup port issue by hitting it with a damn big hammer
2007-12-24 07:02:40 +00:00
Charles Kerr
a33f68a344
fix Gimp_'s problem
2007-12-24 05:17:12 +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
3ecb9910e0
save per-torrent peer limits in the fastresume file
2007-12-22 16:11:15 +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
9148c9211f
(gtk) tweak the display speed/size units again.
2007-12-22 03:01:14 +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
99d6e5deab
fix r4267 crash reported by John_Clay
2007-12-21 22:29:22 +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
f1baca587b
add torrent-ctor so that xcode can be updated. it's not plugged in yet though.
2007-12-21 16:51:42 +00:00
Charles Kerr
5c4f841c7e
added tr_torrentSetPeerLimits(), tr_torrentGetPeerLimits(), tr_setGlobalPeerLimit(), tr_getGlobalPeerLimit()
2007-12-20 21:44:16 +00:00
Charles Kerr
cf30fac9cf
upgrade to miniupnp-20071213
2007-12-20 20:18:22 +00:00
Mitchell Livingston
911a6ce32e
remove unused variables
2007-12-20 01:15:13 +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
371287136a
fix build error reported by berkut in the forums
2007-12-17 02:21:06 +00:00
Charles Kerr
36391e02c1
add support for TRANSMISSION_HOME environment variable so I can have multiple copies of Transmission running concurrently in different directories.
2007-12-15 22:22:30 +00:00
Charles Kerr
4ff5b472a8
raise the maximum connection limit a bit.
2007-12-15 16:36:43 +00:00
Charles Kerr
1cb314f0cc
try to make the natpmp error messages yet more helpful. thanks to m1b and Lacrocivious
2007-12-15 06:10:24 +00:00
Charles Kerr
fe0640caa7
add messages asking the user to check & make sure that port forwarding is enabled on their router
2007-12-15 05:28:16 +00:00
Charles Kerr
20c5f2a77c
fix off-by-one introduced in r4153
2007-12-15 05:05:23 +00:00
Charles Kerr
10b6e8ff8f
lessons learned from 0.82:
...
* if we can't bind a socket to a peer, take that peer out of the retry pool.
* also, try to connect with more peers up-front.
2007-12-15 04:26:31 +00:00
Charles Kerr
4da5fc85bb
fix bad log message
2007-12-15 03:25:13 +00:00
Charles Kerr
f8f4e1fc32
more helpful error message
2007-12-15 03:17:50 +00:00
Charles Kerr
99e8b9a19d
two arguments were transposed.
2007-12-15 03:14:16 +00:00
Charles Kerr
6ded40d360
increase the number of tracker connections we allow during shutdown.
2007-12-13 23:43:50 +00:00
Charles Kerr
7582f4a929
(maybe) fix shutdown crash in "pulse" reported by pea_
2007-12-13 21:48:39 +00:00
Charles Kerr
de5c84a52c
allocate more sockets to the tracker during shutdown to help get all the `stopped' commands done
2007-12-13 21:08:05 +00:00
Charles Kerr
bddcf5e10d
fix crash on shutdown on natpmp routers reported by SoftwareElves
2007-12-13 20:19:52 +00:00
Charles Kerr
7f335e1bf0
follow Chinstrap's suggestion of waiting a small interval between sending nat commands as per the nat spec
2007-12-13 19:28:51 +00:00
Charles Kerr
a51d790d81
take pea_'s suggestion of not sending out natpmp/upnp discover messages until port forwarding is enabled
2007-12-13 18:56:22 +00:00
Charles Kerr
39773104be
accept tiennou's file-checking tweak that clarifies the log messages
2007-12-13 17:28:13 +00:00
Charles Kerr
c4e6a04131
tweak the debug messages
2007-12-13 17:18:35 +00:00
Mitchell Livingston
1b6a8a9504
display the infinity symbol in stats for ratio when there is upload but no download
2007-12-13 04:31:38 +00:00
Charles Kerr
e1d10bba7e
add extra debugging messages for upnpDiscover()
2007-12-13 02:48:30 +00:00
Charles Kerr
c8c9012697
fix the 500ms remap reported by Chinstrap
2007-12-13 01:20:16 +00:00
Charles Kerr
c2e314743f
added more upnp debugging messages for Chinstrap_
2007-12-09 17:50:05 +00:00
Charles Kerr
7249aed5e4
fix r4109 oops: a debugging console message snuck into svn
2007-12-09 17:17:44 +00:00
Charles Kerr
ffe9e52e14
I think this one-line change may fix all the "Transmission 0.95 ate my data, corrupted my hard drive, and killed my cat!" complaints
2007-12-09 15:26:27 +00:00
Charles Kerr
33f284ead1
let the other config directories that we create also respect umask
2007-12-09 15:22:01 +00:00
Charles Kerr
67a86a2274
finish the `shared' update: bind & listen the incoming port.
...
better logging in network code.
2007-12-09 00:28:34 +00:00
Charles Kerr
b17d8c34f8
undo r4093 for bmw
2007-12-08 19:47:44 +00:00
Charles Kerr
008a403463
ensure that the `file' variable passed to tr_msg() is never NULL
2007-12-08 19:42:07 +00:00
Charles Kerr
73ee11f233
Use libnatpmp for port mapping. rewrite the upnp/natpmp manager.
...
NOTE: this will break the xpjets build until SoftwareElves or a volunteer patches the xcode project file to make a libnatpmp library just like was done for libminiupnp.
2007-12-08 19:34:15 +00:00
Charles Kerr
d3d1263a84
use fizz' suggestion on from ticket #534 on how to make platform.c more portable wrt header include order
2007-12-07 19:25:54 +00:00
Charles Kerr
481a210e82
fix tracker connection error reported by Gimp_
2007-12-05 02:06:05 +00:00
Charles Kerr
39d8c74fcd
small tweak to play nice with old C compilers. Thanks to fizz for reporting & submitting a patch
2007-12-03 19:52:55 +00:00
Charles Kerr
de9080e9ef
fix tyop
2007-12-03 16:51:22 +00:00
Charles Kerr
f0d1fa0a76
finish fixing the recursive mutex + cond bug reported by sedatg & Waldorf
2007-12-03 15:27:38 +00:00
Charles Kerr
c68af92039
fix very annoying recursive mutex + pthread cond bug reported by setatg, Waldorf, and many others
2007-12-03 04:06:45 +00:00
Charles Kerr
7b068ed926
more mutex work
2007-12-02 18:20:37 +00:00
Charles Kerr
5e88ab235b
possibly get the pthread changes compiling for old versions of Linux
2007-12-02 17:15:52 +00:00
Charles Kerr
b14449fe80
possible fix for the crash reported by sedatg in ticket #519
2007-12-02 16:35:44 +00:00
Charles Kerr
abef433926
improve upload speeds when the speed limits are uncapped.
2007-12-01 23:08:34 +00:00
Charles Kerr
f534d0929c
use PMP_MCAST_ADDR, instead of a hardcoded address, in net.c
2007-12-01 05:11:30 +00:00
Charles Kerr
78f3c40484
get nat-pmp working again in Leopard. Thanks to Chinstrap for tracking down the problem & submitting a patch. See the comment in this changeset for more details.
2007-12-01 05:01:02 +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
f2a08d272f
be more forgiving of tracker failure
2007-11-30 17:10:33 +00:00
Charles Kerr
332019593d
speed tweaks based on whitty's feedback
2007-11-29 02:56:31 +00:00
Charles Kerr
f9670dc7ac
throw away all pending `scrape' requests on shutdown... we don't need them then, so they just slow us down
2007-11-29 02:31:21 +00:00
Charles Kerr
827dc86bb4
rewrite the tracker code. this should improve and/or fix a number of bugs, including "too many open files", "router death", "slow internet", and the mutex release crash.
2007-11-29 00:43:58 +00:00
Charles Kerr
1e4b3a0577
make the peer stats a little easier to understand
2007-11-27 21:39:41 +00:00
Charles Kerr
398bc04bcf
housekeeping. revert r3984 at tiennou's request
2007-11-27 15:39:59 +00:00
Charles Kerr
27f08f325d
fix upload speed limit bug tracked down by makira_
2007-11-27 04:27:03 +00:00
Charles Kerr
d0047acc86
reimplement tr_buildPath() using struct evbuffer
2007-11-27 04:11:39 +00:00
Charles Kerr
0663c4aef7
possible fix for Zeph's "too many open files" bug report.
2007-11-26 21:26:01 +00:00
Charles Kerr
81ea9b4abd
sloppy, sloppy. what should've been 1 commit has been 5.
2007-11-26 20:44:53 +00:00
Charles Kerr
033ee7ff58
fix crash-on-exit introduced by stats code
2007-11-26 20:44:19 +00:00
Charles Kerr
cf85da1759
plug in the stats.filesAdded field
2007-11-26 20:37:07 +00:00