Charles Kerr
813640d6f3
(trunk libT) silence a gcc 4.4 warning: "dereferencing type-punned pointer will break strict-aliasing rules"
2009-06-14 19:17:10 +00:00
Charles Kerr
ef21704b58
(trunk libT) remove the last calls to tr_getBuffer() and tr_releaseBuffer()
2009-06-14 01:00:36 +00:00
Charles Kerr
0dd0a0bbd7
(trunk libT) #2195 : 1.71 assertion: tr_peerIoSupportsFEXT( msgs->peer->io ) peer-msgs.c:265
2009-06-10 13:46:46 +00:00
Charles Kerr
5898c8b276
(trunk libT) add a debugging message to r8609 in case we ever have to go back to the bad old days of TR_DEBUG_FD
2009-06-04 15:04:34 +00:00
Charles Kerr
cc4cd19903
(trunk libT) under very rare circumstances we wouldn't send a REJ message even if the protocol required it. also, avoid an unnecessary memcpy(). Thanks to geirha and Lacrocivious for helping test & confirm the fix.
2009-06-04 14:59:17 +00:00
Charles Kerr
a9d99c482a
(trunk libT) dead code removal
2009-06-03 04:56:53 +00:00
Charles Kerr
9513fcbe66
(trunk libT) add a bunch of comments denoting where the libevent 2.0 changes will go
2009-06-02 18:21:23 +00:00
Charles Kerr
9238fb0299
(trunk) #2131 : clean up benc read/write API
2009-06-02 01:48:48 +00:00
Charles Kerr
ee0771c751
(trunk) "perl -r" wasn't portable to os x
2009-06-01 00:43:01 +00:00
Charles Kerr
49885aae05
(trunk libT) #2120 : Typo in DHT support: incorrect test when bootstrapping
2009-05-27 17:35:49 +00:00
Charles Kerr
e904ea732c
(trunk libT) modified transmission-dht-20090619.patch
2009-05-20 03:55:09 +00:00
Charles Kerr
3d7cc36424
(trunk) #7 : DHT support. This is a work in progress... no gui/rpc support yet
2009-05-19 18:38:26 +00:00
Charles Kerr
9fe388cf70
(trunk libT) BitTorrent message #9 is for setting the peer's DHT listening port, not their BitTorrent listening port. (tiennou)
2009-05-16 14:31:18 +00:00
Charles Kerr
03a7251054
(trunk) make it possible to #include "version.h" without having to add -I${TOP}/libtransmission/ to your CFLAGS
2009-04-13 19:04:21 +00:00
Erick Turnquist
dd7eb76718
(trunk libT) remove tr_suspectAddress() since all seems well
2009-03-27 01:14:25 +00:00
Charles Kerr
fcfe4e3638
(trunk libT) some minor tr_bool correctness
2009-02-19 21:55:00 +00:00
Charles Kerr
3ce4f44a6e
(trunk libT) more #1829
2009-02-18 22:25:13 +00:00
Charles Kerr
f9e400a22d
(trunk libT) a little more work on #1829
2009-02-18 21:27:44 +00:00
Charles Kerr
3f9a1d090b
(trunk) #1787 : add support for seeding ratio limiting in libtransmission
2009-02-13 18:23:56 +00:00
Charles Kerr
509465a85b
(trunk libT) partial revert of r7825: back out the refillPulse() changes
2009-02-11 16:34:35 +00:00
Charles Kerr
08289b9d13
(trunk libT) #1748 : possible fix for the kqueue corruption errors by consolidating the three per-torrent libevent timers into three session-wide timers. Since most people reporting this error have lots of torrents loaded, consider a hypothetical example: if you had 500 torrents, this patch will reduce 1,500 libevent timers down to just three timers. On top of that, those three have simpler life cycles too...
2009-02-04 16:58:52 +00:00
Charles Kerr
46aa5c6fc0
(trunk libT) well, maybe it's not a problem with sending the pex messages, but with parsing it...
2009-01-22 04:20:30 +00:00
Charles Kerr
ba5d3f068d
(trunk libT) add a couple of simple debugging messages
2009-01-21 04:02:39 +00:00
Charles Kerr
bc2b7fcb03
(trunk libT) minor tweaks to reduce libtransmission shear between trunk and 1.5x
2009-01-16 17:29:42 +00:00
Charles Kerr
486c55c1ed
(trunk libT) peerMgr: operate directly on tr_torrent and not peerMgr+torrentHash
2009-01-13 21:00:05 +00:00
Charles Kerr
8b72408948
(trunk libT) Get rid of peer-mgr-private.h (from wereHamster)
2009-01-13 16:32:43 +00:00
Charles Kerr
2f6b56671f
(trunk libT) win32 portability patch from Alexey
2009-01-11 17:02:04 +00:00
Charles Kerr
fe816d8135
(trunk) update the GPL code's copyright dates
2009-01-10 23:09:07 +00:00
Charles Kerr
f3db4c14b7
(trunk libT) The buffer is static anyway, no need to malloc it
2009-01-08 14:05:30 +00:00
Charles Kerr
5ccd5a7700
(trunk libT) fix the much-hated "Assertion failed: (tr_isPeerIo( io ))". Also, repeated calls to tr_date() were taking up about 78% of the time in tr_stat(), so instead of calling multiple times, call it once in tr_stat() and pass that value around to the functions that need it.
2009-01-05 04:27:54 +00:00
Charles Kerr
6d21e557f5
(trunk libT) fix r7610 bug reported by BentMyWookie
2009-01-04 16:48:31 +00:00
Charles Kerr
51e68d6e56
(trunk libT) new peer request fifo queue with log(N) search time. new unit tests for the queue. new utility tr_lowerBound()
2009-01-04 16:29:44 +00:00
Charles Kerr
8690d83ba4
(trunk libT) minor improvement to testing to see if two requests are equal
2009-01-04 02:49:30 +00:00
Charles Kerr
49f46dcddb
(trunk libT) revert r7548, which broke very low speed download limits.. the simplified peer-msgs parsing didn't distinguish between piece & raw data until the piece was done downloading.
2009-01-02 23:28:57 +00:00
Charles Kerr
86d3e70121
(trunk libT) avoid some unnecessary memory fragmentation... for composited objects that have a tr_ratecontrol, contain the it directly rather than a pointer to one allocated elsewhere on the heap.
2009-01-02 20:42:35 +00:00
Charles Kerr
199e38dd66
(trunk libT) avoid some unnecessary memory fragmentation... for composited objects that have a tr_completion, contain the it directly rather than a pointer to one allocated elsewhere on the heap.
2009-01-02 17:01:55 +00:00
Charles Kerr
d6b4db4a78
(trunk libT) add "inline" hint to several one-liner functions
2009-01-02 06:28:22 +00:00
Charles Kerr
e5fc032d9c
(trunk libT) Remove unused field: struct tr_peermsgs::peerSentBitfield
2009-01-01 18:35:21 +00:00
Charles Kerr
ad69a937ef
(trunk libT) have a pool of reusable evbuffers
2008-12-30 20:32:00 +00:00
Charles Kerr
53b25c7b49
(trunk libT) patch from wereHamster to simplify BT message parsing
2008-12-30 19:44:49 +00:00
Charles Kerr
56d04f76ad
(trunk libT) use a static buffer for fillOutputBuffer()
2008-12-30 08:25:39 +00:00
Charles Kerr
640c952ce8
(trunk libT) fix r7535 bug reported by Rolcol
2008-12-30 02:42:45 +00:00
Charles Kerr
f761311018
(trunk libT) avoid a few more unnecessary malloc() + free() pairs
2008-12-30 00:56:10 +00:00
Charles Kerr
c52d9fedab
(trunk libT) avoid some unnecessary memory fragmentation... for composited objects that have a tr_publisher, contain the it directly rather than a pointer to one allocated elsewhere on the heap.
2008-12-29 18:10:07 +00:00
Charles Kerr
dfcc9173e5
(trunk libT) #include "session.h" cleanup from wereHamster
2008-12-23 17:27:15 +00:00
Charles Kerr
acdd8c860c
(trunk libT) minor cleanups found while diffing for backport to 1.4x in r7455
2008-12-22 00:52:44 +00:00
Erick Turnquist
38efb62100
add some debugging stuff to track down where some bogus addresses are coming from
2008-12-21 19:13:52 +00:00
Charles Kerr
2b0ece7614
(trunk libT) remove tr_peermsgs.minActiveRequests based on wereHamster's feedback
2008-12-21 18:31:28 +00:00
Charles Kerr
fefa352b11
(trunk libT) remove unused PEER_PULSE_INTERVAL
2008-12-21 17:51:46 +00:00
Charles Kerr
a94e104040
(trunk libT) really fuck up the peer i/o code. also this breaks the mac build until someone removes iobuf.c from libtransmission's list of files.
2008-12-16 22:08:17 +00:00
Charles Kerr
9594112d27
updated email address
2008-12-16 00:20:44 +00:00
Charles Kerr
54be88dec3
(trunk libT) add ipv6 support by jhujhiti. I think this is the largest user-contributed patch we've ever used... thanks jhujhiti :)
2008-12-15 00:17:08 +00:00
Charles Kerr
0272708d32
(trunk libT) remove a couple of redundant and/or unused fields from struct peer_atom and tr_peermsgs.
2008-12-12 02:44:21 +00:00
Charles Kerr
451058d5cd
(libT) add some documentation about the three separate peer structs and how they are related.
2008-12-11 17:02:34 +00:00
Charles Kerr
65fe66c470
(trunk libT) fix bug which caused libtransmission to hold onto nonproductive peers for longer than it should've
2008-12-11 07:04:46 +00:00
Charles Kerr
718c1caa96
(trunk libT) #1565 : give the peer requests a higher send priority. thanks to jusid for testing and sleuthing above & beyond the call of duty
2008-12-08 20:36:36 +00:00
Charles Kerr
81e636ad89
(libT) #1577 : honor the peer's BEP 10 reqq key, if they provide it.
2008-12-08 20:23:10 +00:00
Charles Kerr
9e98dcd248
(libT) minor cleanup: using tr_bool, fixing up bad code indentation, using %zu on size_t instead of casting to int...
2008-12-05 22:56:19 +00:00
Charles Kerr
eb90a55608
(libT) #1562 : 1.40 sends unnecessary `cancel' messages when choked
2008-12-05 01:12:55 +00:00
Charles Kerr
81c9bc0371
(libt) #1554 : EPROTO (in peer-msgs.c) not defined on Windows
2008-12-03 13:21:41 +00:00
Charles Kerr
d4ee0d714a
(libT) #1379 : support "partial seeds" BEP 22
2008-12-02 19:46:51 +00:00
Charles Kerr
341b40f192
libT) fix another r7234 bug reported by John_Clay
2008-12-02 19:38:46 +00:00
Charles Kerr
c414377c1a
(libT) fix r7234 bug reported by John_Clay
2008-12-02 19:06:08 +00:00
Charles Kerr
9d39ed2540
(libT) misc cleanup
2008-12-02 18:24:26 +00:00
Charles Kerr
f927ea5d63
(libT) #1549 : support fast exensions' "reject" and "have all/none" messages
2008-12-02 17:10:54 +00:00
Charles Kerr
0d5fed6442
(libT) re-apply jhujhiti's IPv6 patch. This merges in my tr_port cleanup, so any new bugs are mine :/
2008-12-02 03:41:58 +00:00
Mitchell Livingston
c2b6fde6dd
#1548 Peers rapidly connect and reconnect after removing fast support.
2008-12-02 00:37:10 +00:00
Charles Kerr
7fa9813955
(libT) #252 : revert r7195 (jhujhiti's IPv6 test patch). It seems to be the culprit in a `thrashing' issue reported by Waldorf and m1b in irc -- the behavior appeared between r7183 and r7187 -- so this commit is to trigger off a nightly build w/o the patch to test with in irc.
2008-12-01 20:21:06 +00:00
Charles Kerr
a588eaddc8
(libT) fix a small pex memory leak
2008-12-01 05:57:59 +00:00
Charles Kerr
37414ea274
(libT) fix memory leak introduced in r7186
2008-12-01 05:56:39 +00:00
Charles Kerr
f4f908be92
(libT) #1542 : SIGSEGV in tr_publisherPublish
2008-11-30 21:36:49 +00:00
Charles Kerr
a2ad4f6543
(libT) patch from jhujhiti to add ipv6 support.
2008-11-30 00:47:18 +00:00
Charles Kerr
40b5fc5351
(libT) #1532 : patch from jhujhiti to remove (unused) fast extensions
2008-11-29 20:37:34 +00:00
Charles Kerr
7fee78a697
(libT) re-enable lazy bitfields
2008-11-29 19:16:31 +00:00
Charles Kerr
d12af295c1
use tr_bool instead of C bitfields. ( http://blogs.msdn.com/oldnewthing/archive/2008/11/26/9143050.aspx )
2008-11-28 22:11:41 +00:00
Charles Kerr
ca433d44ae
(libT) make peer-io's output buffer size more flexible based on the peer's speed
2008-11-28 16:00:29 +00:00
Charles Kerr
b46375fd8c
(libT) #1527 : don't send pex messages if we don't have any new information to send
2008-11-28 05:48:17 +00:00
Charles Kerr
f44248a7d7
(libT) yet another stab at getting bandwidth management under control. this version may suck less than previous attempts. It also breaks the mac build until someone adds iobuf.[ch] to xcode...
2008-11-25 21:35:17 +00:00
Charles Kerr
be5e6774ad
(libT) #1468 : another stab at getting the peer transfer speeds both fast and a little more consistent.
2008-11-24 04:21:23 +00:00
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
Charles Kerr
c6d2e60f52
fix comment typo reported by BigBossman
2007-12-27 22:50:20 +00:00
Charles Kerr
e870440025
add a per-block request TTL of 120 seconds
2007-12-25 17:22:51 +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
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
4ff5b472a8
raise the maximum connection limit a bit.
2007-12-15 16:36:43 +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
abef433926
improve upload speeds when the speed limits are uncapped.
2007-12-01 23:08:34 +00:00
Charles Kerr
1e4b3a0577
make the peer stats a little easier to understand
2007-11-27 21:39:41 +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
8caa113d4b
fix LTEP PEX error reported by Adrian Ulrich in the BitTorrent mailing list
2007-11-22 06:48:08 +00:00
Charles Kerr
91e672d428
some progress on the overall statistics, though probably not visible to end users yet
2007-11-21 20:03:53 +00:00
Charles Kerr
9f9901b3fa
tweak the peer limits a bit for faster uploading
2007-11-20 17:29:56 +00:00
Charles Kerr
9cec81b524
fix the crash reported by pea_, Gimp, and John_Clay [ref: http://pastebin.ca/784834 ]
2007-11-19 21:44:38 +00:00
Charles Kerr
3704854654
add more asserts up the call chain to find the source of pea_ and Gimp's bug
2007-11-19 04:51:06 +00:00
Charles Kerr
a277382578
more download speed tweaks for situations where T is both uploading and downloading.
2007-11-18 04:24:17 +00:00
Charles Kerr
e371009606
this should improve download speeds. test it!
2007-11-18 03:18:26 +00:00
Charles Kerr
9a81cd7637
reintroduce the "SWIFT" algorithm
2007-11-18 01:00:49 +00:00
Charles Kerr
37969406b2
Add "Status" column to tr_peer_stat.
2007-11-17 23:43:33 +00:00
Charles Kerr
54a2bb978b
fix timeout error that caused us to drop connections prematurely
2007-11-17 17:49:30 +00:00
Charles Kerr
ef3d0df0d9
try to tickle some more information out of John_Clay's bug report
2007-11-17 07:48:51 +00:00
Charles Kerr
77d58126f4
remove yet more dead code
2007-11-17 02:47:47 +00:00
Charles Kerr
cc728b0470
progress on the "speed limits kill my transfer rate" bug.
2007-11-16 21:58:11 +00:00
Charles Kerr
0ac302b302
progress on the "speed limits kill my transfer rate" bug.
2007-11-16 20:40:03 +00:00
Charles Kerr
73680b6263
fix tr_peerMsgsAddRequest memory leak reported by tiennou
2007-11-16 15:45:26 +00:00
Charles Kerr
1ebaf597a4
fix trunk memory leak reported by tiennou
2007-11-16 15:33:57 +00:00
Charles Kerr
c3dce15a9e
if we haven't advertised that we support pex, then even if a peer sends us a pex message, don't send one back.
2007-11-16 04:42:51 +00:00
Charles Kerr
257eaee631
more of the same
2007-11-15 05:47:23 +00:00
Charles Kerr
a9e5fff2e6
* fix the `req->length == (uint32_t)( ((block)==((msgs->torrent)->blockCount-1))' bug.
...
* there seems to be a pattern for peers that were (intentionally?) giving incomplete data to trigger the bug above. when a peer does this, give them a strike on its three-strikes-and-you're-banned count
2007-11-13 05:36:43 +00:00
Charles Kerr
8516860fec
fix a bug in tr_stat's availability numbers, reported by BentMyWookie
2007-11-11 16:33:04 +00:00
Charles Kerr
c32f893038
commit tiennou's fast-peers-final patch from ticket 149
2007-11-10 16:06:00 +00:00
Charles Kerr
ca03b62a58
* fix a bug that could corrupt peer connections, causing slower speeds and/or fewer connections
...
* add more assertions to smoke out any remaining BT protocol bugs
2007-11-10 04:56:27 +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
99ea26c1c9
* try to get peers to scale up to speed faster.
...
* remove unnecessary steps when receiving block data from peers.
2007-11-09 01:22:15 +00:00
Charles Kerr
39f9f14751
minor tweaks.
2007-11-08 21:25:17 +00:00
Charles Kerr
71f4efcbad
update our #includes now that libevent has cleaned up event.h
2007-11-07 18:26:19 +00:00
Charles Kerr
60aab6c433
remove libtransmission code that duplicates functionality in libevent
2007-11-06 21:14:30 +00:00
Charles Kerr
0f92cb7f30
fix bug reported in the forums by "grabman"
2007-11-05 03:09:27 +00:00
Charles Kerr
3e0e462b10
finish cleaning up the code that was churned during the "corruption" fix.
2007-11-01 13:47:32 +00:00
Charles Kerr
a6206b036c
"corruption" fix part 2: lots of assertions, and try to complete pieces & ban bad peers sooner
2007-10-31 04:23:51 +00:00
Charles Kerr
ab8ed6507d
#412 - 0.90 "ignores" speed limits (deanr, berkut, SineOtter)
2007-10-28 15:20:24 +00:00
Charles Kerr
92ac49d9c4
compatability with older C copmilers (ticket #422 , patch by fizz)
2007-10-27 21:29:41 +00:00
Charles Kerr
b00ee3e568
Ticket #398 (peer-msgs.c:905: failed assertion `msglen == 0' in 0.90)
2007-10-27 15:45:03 +00:00
Charles Kerr
8c0e2434f5
fix OpenBSD build error.
2007-10-25 13:59:46 +00:00
Charles Kerr
b704654275
dead code removal.
2007-10-22 23:27:47 +00:00
Charles Kerr
a5946e396c
tweak the logging a bit.
2007-10-22 18:52:36 +00:00
Charles Kerr
e1fbd16941
fix some memory leaks reported by valgrind.
2007-10-22 14:15:16 +00:00
Charles Kerr
6527f4e12a
dead code removal.
2007-10-20 15:17:36 +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
911ff1cdd1
remove tr_peerMsgsSetChoke()'s return value, which was always ignored anyway
2007-10-17 18:23:59 +00:00
Charles Kerr
6eb7edf007
fix choke fibrillation bug in new connections
2007-10-15 16:01:42 +00:00
Charles Kerr
57eaa27970
Fix bug that could initiate pex in private torrents.
2007-10-14 17:21:24 +00:00
Charles Kerr
d96ed80aa2
(1) fix a bug in torrent creation. (2) fix a bug in torrent paths on startup in gtk
2007-10-14 03:26:13 +00:00
Charles Kerr
4f33a8da42
Try sharing a DH so that we don't spend so many cpu cycles making new ones when we're working through the peers trying to find good ones.
2007-10-13 23:15:43 +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
89564dc3c2
fix the "swarm speed" bug reported by Gimp_
2007-10-11 04:17:28 +00:00
Charles Kerr
3b2ef1054f
8 second timeout during handshake, 2.5 minute handshake afterwards
2007-10-11 03:54:33 +00:00
Charles Kerr
e11999243e
add more debugging messages to track down why we're disconnecting from some peers
2007-10-11 03:36:09 +00:00
Charles Kerr
cbaf1b8faa
commit more of tiennou's fastpeers patch
2007-10-10 16:39:12 +00:00
Charles Kerr
696800f369
* fix bug that sent a keepalive message too often
2007-10-10 03:03:09 +00:00
Charles Kerr
e8d19c5b03
fix stupid bug from yesterday that made uploading difficult.
2007-10-09 05:51:20 +00:00
Charles Kerr
e176a25922
* fix a bug with uploading encrypted pice data to another peer
...
* extra sanity tests when uploading data
2007-10-08 16:10:10 +00:00
Charles Kerr
1014e633ac
* don't reuse http connections to trackers. I think this is what caused most of the `no response from tracker X' messages.
...
* extra safety checks to ensure the last `stopped' message to the tracker is sent on shutdown.
2007-10-07 16:07:19 +00:00
Charles Kerr
c75f49bc26
* add a per-peer request queue to hold the next 10-15 seconds' worth of requests so that we always have more requests at hand when the current requests start to run low.
...
* increase the tracker `numwant' variable to grow our peer pool
* bugfixes in cancelling requests.
* make the debug log sexy and readable like uTorrent's ;)
2007-10-06 18:20:52 +00:00
Charles Kerr
b6483cbf3f
don't allow duplicate requests to the same peer, even during endgame. (alus)
2007-10-05 00:16:47 +00:00
Charles Kerr
5f2bd1d950
speed improvements... this is getting me 700 KiB/s (which is near to my speed cap) in the ubuntu torrent test
2007-10-03 19:00:51 +00:00
Charles Kerr
877e2bb86e
some more peer tweaks
2007-10-03 18:19:51 +00:00
Charles Kerr
a3d1a254d1
minor source code cleanup...
2007-10-03 16:42:43 +00:00
Charles Kerr
3d2e3cfdfb
add pass subscription info into the peer-msgs constructor so that we can start getting information immediately
2007-10-03 04:04:34 +00:00
Charles Kerr
1f1605986c
tear out some now-exterraneous code.
2007-10-02 20:55:14 +00:00
Charles Kerr
3dbaa7d673
make the peer manager a little greedier w.r.t. keeping connections alive.
2007-10-02 19:25:18 +00:00