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