1
0
Fork 0
mirror of https://github.com/transmission/transmission synced 2024-12-27 01:57:52 +00:00
Commit graph

257 commits

Author SHA1 Message Date
Charles Kerr
0bcff74d52 minor code cleanup 2008-11-23 16:30:09 +00:00
Charles Kerr
f172e8f96e (libT) another possible fix for #1468: Speed display is very jumpy 2008-11-20 03:07:26 +00:00
Charles Kerr
a0fd42c5c3 (libT) better possible fix for #1468: Speed display is very jumpy 2008-11-17 04:00:57 +00:00
Charles Kerr
97e4efaa4d (libT) #1474: lazy bitfields don't work quite right in 1.40 2008-11-16 08:56:18 +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
8e4fa83c77 update NEWS 2008-11-06 02:56:51 +00:00
Charles Kerr
a4bee061be (libT) eliminate some duplicate calls to time(NULL) that showed a spike on vraa & softwareelves' shark profiles 2008-10-27 04:12:42 +00:00
Charles Kerr
e15114e2aa new & improved fix for #617: Transmission goes above the set bandwidth limits 2008-10-25 02:20:16 +00:00
Charles Kerr
b04be5fb2e make MAX_PATH_LENGTH private to libtransmission. add tr_dirname() and tr_basename() utility / portability wrappers 2008-10-14 03:39:16 +00:00
Charles Kerr
88ce8a5c44 more changes inspired by spry's `winport' code: for portability, use the standard __VA_ARGS__ macro for variadic macros instead of the CPP extensions. 2008-10-13 22:45:05 +00:00
Charles Kerr
f00c8ff34d possible fix for #1305 "Transmission losing data - Session Transfer significantly higher than actual download". This patch may need more user testing and will definitely make webseeds slower. suck it up. 2008-10-11 04:07:50 +00:00
Charles Kerr
7566be5348 #1302: Uploading file deletion is ignored 2008-10-10 03:04:46 +00:00
Charles Kerr
413211288b #1338: fix win32 build errors 2008-10-10 02:14:51 +00:00
Charles Kerr
964d7e193c (libT) #1338: EMSGSIZE and EPROTO not found on Windows 2008-10-10 00:38:37 +00:00
Charles Kerr
38d265d9f0 (libT) possible fix for #1305: Transmission losing data - Session Transfer significantly higher than actual download 2008-10-08 03:58:21 +00:00
Charles Kerr
4fab4c9e9b (libT) finish killing tr_errno. 2008-10-03 04:49:06 +00:00
Charles Kerr
f9345da6ae (libT) eliminating tr_errno, part 2: don't use it in reqListPop() or reqListRemove() 2008-10-02 20:55:05 +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
9c2c4ca08d fix at least one possible cause for the new crash reported by persept 2008-09-19 17:03:25 +00:00
Charles Kerr
4fe1e1dae3 first draft at having more accurate speed controls 2008-09-17 19:44:24 +00:00
Charles Kerr
abd4b506e2 fix a confusing extraneous line in the previous commit 2008-08-27 18:56:36 +00:00
Charles Kerr
64e08510f0 (libT) maybe fix the hangs reported by users in the recent nightlies. 2008-08-27 18:50:21 +00:00
Mukund Sivaraman
75d2e74a64 Use stricter type for enums 2008-08-22 16:13:52 +00:00
Charles Kerr
f8d38a180e according to vraa's profiling, the highest CPU hit other than encryption is in peerPulse(). do we really need to call it every 50 msec? change the peerPulse() interval to 250 msec. 2008-08-22 15:15:02 +00:00
Charles Kerr
ef68e36a0d (libT) more dead code removal: tr_compareUint32(), tr_compareUint64(), tr_strcmp(), tr_strcasecmp() 2008-08-22 14:52:20 +00:00
Charles Kerr
d323a99cdd undo part of r6616 to address the assertion failure reported by andersos and Waldorf 2008-08-22 01:27:00 +00:00
Charles Kerr
1105dc0038 (libT) remove some dead functions: tr_calloc(), tr_compareUint16(), tr_compareUint32() 2008-08-21 19:03:56 +00:00
Charles Kerr
dcecf09d96 bencode cleanup: remove unused functions and unnecessary #includes 2008-08-21 14:57:59 +00:00
Charles Kerr
3b7499a79b make tr_bencDictFindType() private. 2008-08-20 18:42:45 +00:00
Mukund Sivaraman
ed7685dd1a Make tr_bitfieldHas() a macro 2008-08-20 13:45:52 +00:00
Charles Kerr
d06f101e57 #220: lazy bitfields 2008-08-16 21:06:57 +00:00
Charles Kerr
94ac86bec6 (libT) route all outbound peer protocol messages through the outMessages buffer, to ensure that they're sent in sequence. previously the outbound pex message wasn't queued in this way. 2008-08-16 05:11:28 +00:00
Charles Kerr
d7ab0d8a15 possible quick-fix for the "wasted data due to collisions" bug reported in http://forum.transmissionbt.com/viewtopic.php?f=3&t=5643. surely it's not this easy, but let's see 2008-08-14 20:17:55 +00:00
Charles Kerr
c75c512ff1 readability improvments #1, #2, #3, #4. (muks) 2008-08-12 13:51:11 +00:00
Charles Kerr
51aff87443 lots of C correctness tweaks suggested by sparse/cgcc 2008-08-11 19:05:02 +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
b860119cd3 minor text cleanup 2008-08-01 16:43:22 +00:00
Charles Kerr
96ae464283 rename `pulse' as peerPulse() and trackerPulse() to make backtraces easier to read 2008-07-28 19:47:16 +00:00
Charles Kerr
72880446d8 (daemon) #1107: transmission-remote -t[n] -i should display webseeding info 2008-07-27 14:10:32 +00:00
Charles Kerr
43b99f425a (libT) fix minor PEX memory leak reported by valgrind 2008-07-18 19:50:38 +00:00
Charles Kerr
fd06d85aee part 1 of Aloisius' performance patch 2008-06-27 02:42:44 +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
e3e3bee8b5 #800 initial support for GetRight-style fetching of data through http and ftp servers specified in the .torrent's "url-list" tag 2008-06-07 21:26:41 +00:00
Charles Kerr
041561f232 minor refactoring of tr_bitfield to (a) simplify the tests and (b) make things easier to read 2008-06-07 01:44:54 +00:00
Charles Kerr
5141a65d45 experimental message batcher as discussed in http://forum.transmissionbt.com/viewtopic.php?p=24251#24251 2008-05-31 00:16:26 +00:00
Charles Kerr
70fcc56beb (libT) (1) shave a few bytes from tr_peer and tr_ratecontrol's footprints. (2) remove some dead code. 2008-05-26 12:14:35 +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
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
Mitchell Livingston
85e66062eb remove unused variables 2008-05-05 04:17:52 +00:00
Charles Kerr
c20b9a6df4 experimental speed tweaks:
(1) increase the per-peer read buffer to the size of a block message
(2) pulse the peers more often
(3) reduce the tracker delay on startup
2008-05-01 19:31:58 +00:00
Charles Kerr
a443cc3289 add #include <limits.h> to pick up a definition of INT_MAX to make Hudson happy 2008-04-19 19:39:39 +00:00
Charles Kerr
3445817a80 peer-msgs: faster upload speeds in situations with few peers. this patch needs wider testing for side-effects wrt speed limits. 2008-04-19 19:37:05 +00:00
Charles Kerr
08b27749ba #890: be smarter about noticing seeds from tracker & pex 2008-04-19 15:07:59 +00:00
Charles Kerr
ac921e0f82 #881: undo r5631 2008-04-18 00:02:04 +00:00
Charles Kerr
ea9e0b260f (1) fix choke/unchoke error. (2) if a peer keeps trying to reconnect to us, hang up during the handshake. 2008-04-17 03:48:56 +00:00
Charles Kerr
62709b7ca2 #881: follow the transmission spec wrt extension handshake message timing 2008-04-17 02:11:29 +00:00
Charles Kerr
8a8b1fedb0 #870: follow PEX conventions agreed upon by Azureus and uTorrent 2008-04-12 23:01:40 +00:00
Charles Kerr
fc091499cb translators shouldn't have to translate debug messages 2008-04-06 00:38:18 +00:00
Charles Kerr
fd0e71c00a hack on IPC a bit because it's been too long since I broke it 2008-04-03 21:38:32 +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
e7316dbc34 yet more string massaging 2008-03-19 02:16:07 +00:00
Charles Kerr
4fa1da4ee8 #781: (1) fix overreporting corrupt data, and (2) fix bug added in r5172 that didn't handle sent request TTL correctly, causing too many dupliate block requests. 2008-03-18 17:46:29 +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
59fdf5dcc8 #781: try to get a little further on this `too much corrupt' ticket by adding a more helpful log message when a downloaded piece fails its checksum test. 2008-03-18 01:39:06 +00:00
Charles Kerr
23f33e1bd1 "Got 0 peers from peer exchange" is a pretty useless message. :) 2008-03-17 02:45:09 +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
bcff72c3ad string consistency. (gtk) move `announce url' from info tab to tracker tab. 2008-03-08 02:00:47 +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
d6a6c24e18 remove more unused code in the peer-msgs module 2008-03-04 21:09:26 +00:00
Charles Kerr
2c9fef40ef remove unused code in the peer-msgs module 2008-03-04 20:37:24 +00:00
Charles Kerr
84a8592d1d first cut at adding i18n hooks into libtransmission. 2008-03-04 02:02:25 +00:00
Charles Kerr
08d986759b fix r5189 typo pointed out by BentMyWookie 2008-03-04 00:55:20 +00:00
Charles Kerr
3000d67e7f #751: add some tracer bullets to help track down this error. 2008-03-03 21:51:45 +00:00
Charles Kerr
24e05bf3fb harden the bitfield handling to handle corrupt messages from peers. This is in response to Ryoujin's crash report in the forums (http://forum.transmissionbt.com/viewtopic.php?p=20414#20414) 2008-03-02 23:44:34 +00:00
Charles Kerr
f1c3b160af remove `banned' field for per-piece-per-peer banning. this has been unused since the three-strikes rule went in place. 2008-03-01 14:32:35 +00:00
Charles Kerr
0788bc37ed minor cleanups to peer-msgs 2008-03-01 14:09:18 +00:00
Charles Kerr
3de06974e8 #727: Download speed setting also affects upload speed, peer informations in torrent inspector 2008-02-29 17:09:33 +00:00
Charles Kerr
a7d087b60a use a custom struct for the peer's four request queues since John_Clay's shark report shows it taking up about 40% of the time in malloc/free. also, maybe this will help the "idle memory" numbers some. 2008-02-29 03:41:50 +00:00
Charles Kerr
8cc587a66f more housekeeping: benc_val_t --> tr_benc 2008-02-26 21:58:58 +00:00
Charles Kerr
deaeb24cb5 cleanup #includes for errno & strerror 2008-02-19 04:16:04 +00:00
Charles Kerr
c144470c70 make the code a little easier to read. make tr_ioFileTest()'s return value consistent with other inout funcs. 2008-02-15 18:25:42 +00:00
Charles Kerr
4f4f451c17 possible fix for http://forum.transmissionbt.com/viewtopic.php?t=3946 2008-02-14 21:48:49 +00:00
Charles Kerr
8d14a789cb #698: have' gets too far ahead of verified' 2008-02-10 04:03:19 +00:00
Charles Kerr
2085aec390 #613: fix handshake protocol error reported by brad- and tracked down w/Lacrocivious' help. 2008-01-26 03:43:49 +00:00
Charles Kerr
d922389c9d #613: fix handshake error with libtorrent / mainline peers 2008-01-24 17:16:20 +00:00
Charles Kerr
3c6eeef439 fix a socket leak in peer-msgs 2008-01-19 03:30:45 +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
e7163a5433 #593: 1.01 crash 2008-01-13 15:52:56 +00:00
Charles Kerr
3a6396a3cb mingw portability fixes 2008-01-10 18:52:46 +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
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
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
085235b10b remove some unused #include <ctype.h> directives 2008-01-03 20:17:01 +00:00
Charles Kerr
ee2cffa196 #579: assertion failure in ~r4410 2008-01-03 03:45:10 +00:00