Commit Graph

1271 Commits

Author SHA1 Message Date
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