Arvid Norberg
|
9bba20cdb4
|
first pass at rate limited udp socket (for DHT)
|
2008-11-08 17:40:06 +00:00 |
Arvid Norberg
|
4e9124019b
|
added accessor to query for the max number of connections
|
2008-11-08 07:40:55 +00:00 |
Arvid Norberg
|
71fb640699
|
fix to count download stats when a peer has disconnected or sends an invalid message id
|
2008-11-06 09:01:27 +00:00 |
Arvid Norberg
|
3412c0f709
|
added option to set peers in a state where it doesn't download
|
2008-11-06 08:34:56 +00:00 |
Arvid Norberg
|
19c66a1826
|
exception fixes
|
2008-11-05 05:39:18 +00:00 |
Arvid Norberg
|
19660306e0
|
more exception defines
|
2008-11-03 04:23:16 +00:00 |
Arvid Norberg
|
bb02c7f985
|
fixed bug in upnp xml service parser introduced in last update
|
2008-11-02 21:11:00 +00:00 |
Arvid Norberg
|
f2c9e02994
|
fixed deadlock in dht code
|
2008-11-02 10:01:04 +00:00 |
Arvid Norberg
|
e0bea061b5
|
disabled an expensive assert when TORRENT_EXPENSIVE_INVARIANT_CHECKS is not defined
|
2008-11-01 19:44:39 +00:00 |
Arvid Norberg
|
17c250349e
|
fix for when update_peer_port() disconnects
|
2008-11-01 19:34:12 +00:00 |
Arvid Norberg
|
593af53aba
|
fix for connection_queue::close() to maintain the correct m_num_connecting counter
|
2008-11-01 18:01:00 +00:00 |
Arvid Norberg
|
44e9ff70de
|
disconnect_if_redundant fix
|
2008-11-01 10:14:11 +00:00 |
Arvid Norberg
|
da9a5c4262
|
connection_queue::close() fix
|
2008-11-01 09:02:13 +00:00 |
Arvid Norberg
|
d721e99026
|
fix windows build with verbose logging
|
2008-11-01 05:35:41 +00:00 |
Arvid Norberg
|
d359e84b34
|
fix connection_queue::close
|
2008-11-01 01:38:14 +00:00 |
Arvid Norberg
|
8c0165b5c4
|
removed incorrect assert
|
2008-10-31 23:14:36 +00:00 |
Arvid Norberg
|
4dada930ac
|
made torrents not wanting more peers whene they're shutting down. Closes out all connections in the connection queue explicitly when session is shutting down
|
2008-10-30 17:13:10 +00:00 |
Arvid Norberg
|
afb6b55b8f
|
fixed typo in safe_convert call
|
2008-10-30 17:04:59 +00:00 |
Arvid Norberg
|
d6a8c28d9c
|
storage cleanup and truncating files that are larger than they should be
|
2008-10-30 06:09:23 +00:00 |
Arvid Norberg
|
829a5a9e25
|
removed debug output to stderr
|
2008-10-30 02:33:58 +00:00 |
Arvid Norberg
|
972450e766
|
support for UPnP routers that don't provide a urlbase
|
2008-10-29 01:17:19 +00:00 |
Arvid Norberg
|
669da96ae2
|
typo
|
2008-10-28 21:53:58 +00:00 |
Arvid Norberg
|
0b47f69afd
|
upnp fix with unit test
|
2008-10-28 09:49:26 +00:00 |
Arvid Norberg
|
7fd2fd4732
|
added performance warnings for when the IP overhead eats up the entire up- or download rate limit
|
2008-10-28 06:45:42 +00:00 |
Arvid Norberg
|
efcaee9c2d
|
fix for when DHT is started before a listen port has been configured
|
2008-10-27 03:45:08 +00:00 |
Arvid Norberg
|
65c4b7ec13
|
fix for when removing a torrent when it is in the checking state
|
2008-10-26 09:23:00 +00:00 |
Arvid Norberg
|
8f7a3ddfe0
|
fix bug for when a torrent queued for checking was removed
|
2008-10-26 04:10:27 +00:00 |
Arvid Norberg
|
3f6a4f846e
|
fixes to default features in session constructor
|
2008-10-24 08:11:17 +00:00 |
Arvid Norberg
|
971f437b41
|
added num_pieces to peer_info. Fixes #385
|
2008-10-24 00:15:39 +00:00 |
Arvid Norberg
|
f7b22e3517
|
return if disconnected by extension
|
2008-10-23 16:31:15 +00:00 |
Arvid Norberg
|
392dbb71da
|
more fixes to avoid unwanted exceptions
|
2008-10-23 04:10:23 +00:00 |
Arvid Norberg
|
dc6564fa11
|
applies ip filter to trackers as well
|
2008-10-22 19:40:32 +00:00 |
Arvid Norberg
|
0ed75c3f64
|
made nat-pmp generate alerts as well, just like upnp
|
2008-10-22 07:06:58 +00:00 |
Arvid Norberg
|
49c01d7754
|
moved UPNP_LOGGING out of upnp.cpp and added alerts for when upnp logs something
|
2008-10-22 01:12:14 +00:00 |
Arvid Norberg
|
a6ba48a60a
|
removed exception usage in dht implementation and peer_connection
|
2008-10-21 17:10:11 +00:00 |
Arvid Norberg
|
41d5abf0d8
|
exception related fixes. Avoiding functions that may throw in places where exceptions shouldn't be thrown
|
2008-10-21 08:45:42 +00:00 |
Arvid Norberg
|
cfe029d58f
|
updated seed rank to lower priority for finished, but not seeding torrents
|
2008-10-19 08:05:36 +00:00 |
Arvid Norberg
|
535f668c5d
|
simplified the file interface
|
2008-10-19 05:03:17 +00:00 |
Arvid Norberg
|
54eb378a1e
|
simplified is_active() function
|
2008-10-19 04:31:33 +00:00 |
Arvid Norberg
|
f04e9e9875
|
made unchoke interval depend on piece size
|
2008-10-18 22:35:10 +00:00 |
Arvid Norberg
|
d0fc5fee2b
|
fixed assert in piece_picker
|
2008-10-18 22:29:56 +00:00 |
Arvid Norberg
|
8b835bf75f
|
fix to faster unchoke a new peer if an unchoked peer becomes uninterested
|
2008-10-18 22:12:05 +00:00 |
Arvid Norberg
|
3d75732145
|
changed variant_stream to return a pointer instead of a reference when querying for underlying type (avoids exceptions)
|
2008-10-18 07:12:04 +00:00 |
Arvid Norberg
|
68981fc3fd
|
removed unused references to iostream and date-time lib in Makefile.am
|
2008-10-18 07:11:00 +00:00 |
Arvid Norberg
|
8995edead0
|
policy iterator fix
|
2008-10-17 07:32:46 +00:00 |
Arvid Norberg
|
f5f03ff681
|
improved seeding of files with small pieces to avoid swithing back and forth between unchoke sets
|
2008-10-17 04:33:22 +00:00 |
Arvid Norberg
|
c04183d960
|
cleaned up save_resume_data
|
2008-10-17 01:56:36 +00:00 |
Arvid Norberg
|
0368e444af
|
fix to torrent_info constructor to not try to access 0 pointer when loading a 0 size torrent file
|
2008-10-17 01:46:06 +00:00 |
Arvid Norberg
|
032f6e4d55
|
removed expensive invariant check
|
2008-10-16 07:11:57 +00:00 |
Arvid Norberg
|
c0df461296
|
relaxed file timestamp requirements to work better with FAT volumes
|
2008-10-15 20:19:03 +00:00 |
Arvid Norberg
|
16d56eaee6
|
clears torrent stats when paused
|
2008-10-15 17:31:20 +00:00 |
Arvid Norberg
|
2d1b72628e
|
fix for unchoke_compare
|
2008-10-15 04:52:07 +00:00 |
Arvid Norberg
|
ad4d80cc6b
|
removed commented out code
|
2008-10-15 02:21:41 +00:00 |
Arvid Norberg
|
9152bc8712
|
fix to peer_connection::unchoke_compare
|
2008-10-15 02:18:59 +00:00 |
Arvid Norberg
|
c7b1977431
|
uses http 1.0 for soap traffic to dodge chunked transfer encodings
|
2008-10-14 08:07:27 +00:00 |
Arvid Norberg
|
cac6132aae
|
don't resume a torrent if there aren't enough upload slots
|
2008-10-14 07:41:05 +00:00 |
Arvid Norberg
|
9a5e261c64
|
Fixed UPnP bug where the port and host would be re-used from the xml url when connecting to the control url
|
2008-10-14 07:19:46 +00:00 |
Arvid Norberg
|
f0f285ae63
|
fixed bug where broadcast socket would not send messages on interfaces with addresses in local network ranges
|
2008-10-14 04:56:42 +00:00 |
Arvid Norberg
|
f0cd0c152c
|
removed incorrect assert from recent check-in
|
2008-10-14 03:01:19 +00:00 |
Arvid Norberg
|
b8f58f149e
|
made UPnP not give up as soon. To give routers some time to send a NOTIFY message
|
2008-10-14 02:41:22 +00:00 |
Arvid Norberg
|
fdadccf7a2
|
asserts for unchoke slot handling
|
2008-10-14 02:03:54 +00:00 |
Arvid Norberg
|
cb1fce0d62
|
fix to immediately unchoke another peer if an unchoked peer is disconnected
|
2008-10-14 01:00:05 +00:00 |
Arvid Norberg
|
c709cd28a8
|
fixes seeding behavior to avoid flipping unchoke slots back and forth too often
|
2008-10-14 00:57:58 +00:00 |
Arvid Norberg
|
5710cdebf4
|
make auto-unchoke less likely to open up slots when maxed out
|
2008-10-14 00:56:44 +00:00 |
Arvid Norberg
|
ef48097421
|
fix for #389
|
2008-10-12 20:36:22 +00:00 |
Arvid Norberg
|
62e365225b
|
made some moer invariant checks count as expensive
|
2008-10-10 07:08:46 +00:00 |
Arvid Norberg
|
b417a03877
|
removed unnecessary invariant check
|
2008-10-10 05:38:19 +00:00 |
Arvid Norberg
|
8499fd2fe2
|
moved some invariant checks into 'full-invariant-checks' builds
|
2008-10-10 05:25:55 +00:00 |
Arvid Norberg
|
e109b64b27
|
fixed bug when contacting an HTTP/1.0 web server that used gzip compression
|
2008-10-10 04:19:56 +00:00 |
Arvid Norberg
|
13554cbd3b
|
transfer stats assert fix
|
2008-10-09 03:33:53 +00:00 |
Arvid Norberg
|
68a89507bc
|
mutex fix for dht status reporting
|
2008-10-09 03:33:14 +00:00 |
Arvid Norberg
|
8e206c7d0d
|
attempt to fix bug in storage on windows where ENOENT was not properly caught
|
2008-10-07 09:24:30 +00:00 |
Arvid Norberg
|
3fbdded9f3
|
typo
|
2008-10-07 07:12:32 +00:00 |
Arvid Norberg
|
75aac14855
|
fixed typo
|
2008-10-07 06:42:25 +00:00 |
Arvid Norberg
|
3d3a8cca6b
|
fixed std::max usage in storage (fixes msvc build)
|
2008-10-07 05:53:38 +00:00 |
Arvid Norberg
|
b355541a7d
|
applied patch from Sergei Vorobyov to allow changing the limit on outstanding alerts
|
2008-10-07 05:46:42 +00:00 |
Arvid Norberg
|
468ec140ac
|
fixed invalid invariant check
|
2008-10-07 03:57:18 +00:00 |
Arvid Norberg
|
d06fea3d6c
|
fix to handle 0-size piece response without asserting
|
2008-10-06 03:23:47 +00:00 |
Arvid Norberg
|
ccd75006d4
|
fixed failing invariant check caused by a life-time issue in debug mode
|
2008-10-05 23:36:50 +00:00 |
Arvid Norberg
|
f6a1e467a8
|
marked expensive invariant check to only be included in full checks in piece-picker
|
2008-10-05 23:28:57 +00:00 |
Arvid Norberg
|
7733f74d7a
|
fixed invariant check in peer_connection
|
2008-10-05 22:09:33 +00:00 |
Arvid Norberg
|
5f6351146a
|
removed assert that could cause dead-lock in debug mode
|
2008-10-05 19:47:55 +00:00 |
Arvid Norberg
|
3144767632
|
fixed buffer overrun when calling get_download_queue
|
2008-10-05 07:23:46 +00:00 |
Arvid Norberg
|
7f0bfa37b9
|
fix for loading 0-size torrent files. Fixes #383
|
2008-10-05 04:52:01 +00:00 |
Arvid Norberg
|
d4c5d5835a
|
another state fix where mutliple torrent_finished_alerts could be generated
|
2008-10-05 04:44:29 +00:00 |
Arvid Norberg
|
8f665e949f
|
fixed rare bug where a torrent could be put back into downloading state when finishing checking files if it already finished by then
|
2008-10-05 01:44:57 +00:00 |
Arvid Norberg
|
528a009f7f
|
removed date-time and iostream from makefiles
|
2008-10-04 07:46:56 +00:00 |
Arvid Norberg
|
7157516eba
|
fixed boost-compatibility
|
2008-10-04 06:56:51 +00:00 |
Arvid Norberg
|
d4c206841b
|
added support for bitcomet padding files. simplified storage read/write code.
|
2008-10-03 05:49:41 +00:00 |
Arvid Norberg
|
dd40d24708
|
more stats assert fixes
|
2008-10-01 15:19:31 +00:00 |
Arvid Norberg
|
1092c558e4
|
counts newly started torrents as active up to 2 minutes, to give them a chance to start downloading. Active torrents are not considered slow in the auto manager.
|
2008-10-01 05:25:18 +00:00 |
Arvid Norberg
|
ba28449765
|
rename_file now creates missing directories before renaming
|
2008-09-30 23:55:45 +00:00 |
Arvid Norberg
|
ef42e8f77c
|
fixed rename_file to work when the file hasn't been created yet. Fixed error reporting when rename_file fails. Updates the file in the torrent_handle when filename is updated
|
2008-09-30 23:37:42 +00:00 |
Arvid Norberg
|
dc3c5d0bd7
|
more fixes to not trigger the stat asserts
|
2008-09-30 18:52:53 +00:00 |
Arvid Norberg
|
0f6ec06e12
|
fixed race condition in invariant check in disk io thread (only affected debug builds)
|
2008-09-30 01:16:19 +00:00 |
Arvid Norberg
|
195521db65
|
prevent new connections when shutting down
|
2008-09-30 01:14:27 +00:00 |
Arvid Norberg
|
d2bbe2cc4a
|
fixed bug in error alert from http_tracker_connection
|
2008-09-28 07:26:05 +00:00 |
Arvid Norberg
|
317d97b316
|
config fix for unicode builds on windows
|
2008-09-27 19:49:31 +00:00 |
Arvid Norberg
|
8989699e1e
|
fixed invariant check when pausing a torrent
|
2008-09-27 04:58:40 +00:00 |
Arvid Norberg
|
dabaff9980
|
fixed bug in recent udp_socket fix
|
2008-09-26 17:42:39 +00:00 |
Arvid Norberg
|
47c476dc0a
|
include TCP handshake overhead
|
2008-09-26 06:10:21 +00:00 |
Arvid Norberg
|
d4e0ea6c1e
|
added assert to make sure #365 doesn't happen
|
2008-09-25 22:08:18 +00:00 |
Andrew Resch
|
4189e0b697
|
add peer_info::progress
|
2008-09-25 20:39:06 +00:00 |
Arvid Norberg
|
a3751cfcbe
|
fixed bug in peer_connection::incoming_piece() in case blocks were skipped. Fixed warnings.
|
2008-09-25 20:12:53 +00:00 |
Arvid Norberg
|
00415608f6
|
added assert in policy
|
2008-09-25 18:35:28 +00:00 |
Arvid Norberg
|
bb674134e3
|
fixed bind_port for outgoing peer connections
|
2008-09-25 07:40:55 +00:00 |
Arvid Norberg
|
92bac424eb
|
fixed typecast typo in file.cpp
|
2008-09-25 00:16:41 +00:00 |
Arvid Norberg
|
61af2370f3
|
fixed release build of udp_socket
|
2008-09-24 17:25:45 +00:00 |
Arvid Norberg
|
6d97d562f9
|
added another constructor to create_torrent that copies a torrent_info.
|
2008-09-24 17:05:12 +00:00 |
Arvid Norberg
|
0ae891118b
|
fixed stats reporting in bt_peer_connection
|
2008-09-24 02:38:20 +00:00 |
Arvid Norberg
|
80e9e8d1cf
|
changed torrent::set_metadata() to reduce code duplication in metadata extensions. Exposed torrent_handle::set_metadata() to the public interface
|
2008-09-24 02:32:33 +00:00 |
Arvid Norberg
|
df5e261ce8
|
fixed resume data loading for paused state
|
2008-09-24 02:29:24 +00:00 |
Arvid Norberg
|
2e0d0046d2
|
made torrent::replace_trackers() start or stop announcing depending on if trackers were added or cleared
|
2008-09-24 02:22:12 +00:00 |
Arvid Norberg
|
bd44d730cc
|
fixed bug in nat-pmp where it could access an out-of-bound vector element on shutdown
|
2008-09-24 02:20:13 +00:00 |
Arvid Norberg
|
a36da15c29
|
saves sequential download in fastresume data
|
2008-09-23 03:52:49 +00:00 |
Arvid Norberg
|
c0c65d8ee6
|
fixed bug in read_fast_resume regarding auto_managed flag
|
2008-09-23 03:21:35 +00:00 |
Arvid Norberg
|
eaa071818e
|
fixed typo in previous patch
|
2008-09-23 03:19:08 +00:00 |
Arvid Norberg
|
74593d6014
|
fixed deadlock in udp_socket
|
2008-09-23 03:09:08 +00:00 |
Arvid Norberg
|
ba8163ca9c
|
fixed bug in udp_socket when the sockets own lifetime was dependent on the callback
|
2008-09-22 23:43:21 +00:00 |
Arvid Norberg
|
67bed1407f
|
fixed bug in broadcast socket (made local service discovery not work)
|
2008-09-22 17:43:57 +00:00 |
Arvid Norberg
|
791a1f4365
|
saves trackers and web seeds in fastresume data. Fixes #369
|
2008-09-22 17:39:18 +00:00 |
Arvid Norberg
|
8189262182
|
cosmetic improvement when printing bdecoded structures
|
2008-09-22 17:37:12 +00:00 |
Arvid Norberg
|
ca4ab436d0
|
prioritize partials once they reach a certain threshold, to keep them from growing
|
2008-09-22 00:41:36 +00:00 |
Arvid Norberg
|
1ac3b8298c
|
report tracker bandwidth usage and include it in rate limiter
|
2008-09-22 00:15:05 +00:00 |
Arvid Norberg
|
de2859d9b0
|
fixed incorrect assert
|
2008-09-21 23:23:52 +00:00 |
Arvid Norberg
|
ea578a6acf
|
adds ut_pex, ut_metadata and smart_ban by default in session constructor. Also starts upnp and nat-pmp by default. Fixes #399
|
2008-09-21 23:19:58 +00:00 |
Arvid Norberg
|
13b343c1af
|
added assertions that the stats is updated properly when receiving and sending bytes on peer_connections
|
2008-09-21 17:12:26 +00:00 |
Arvid Norberg
|
8ffc345308
|
fixed crash when add_torrent was fed with invalid resume data
|
2008-09-21 02:08:04 +00:00 |
Arvid Norberg
|
0338510b9b
|
added more bandwidth monitoring of DHT and TCP/IP overhead. added monitoring of the running DHT lookups
|
2008-09-20 17:42:25 +00:00 |
Arvid Norberg
|
98f9d5826c
|
fixed busted is_any check for 'ipv6' key in extended handshake
|
2008-09-20 16:21:16 +00:00 |
Arvid Norberg
|
e46f2396cf
|
fixes bencode type check on tracker responses. Might fix #398
|
2008-09-20 15:25:46 +00:00 |
Arvid Norberg
|
97f107a7fd
|
fixed bug in verify_fast_resume. Fixes #397
|
2008-09-20 06:02:40 +00:00 |
Arvid Norberg
|
f3d542fb2c
|
fixed inconsistent upload_only and seed in some cases when running a metadata-less torrent
|
2008-09-19 23:02:45 +00:00 |
Arvid Norberg
|
064d93b935
|
optimization for files with prioritiy 0
|
2008-09-19 19:46:04 +00:00 |
Arvid Norberg
|
67f1242836
|
added mutex to udp_socket and posts the callback instead of calling it directly
|
2008-09-19 17:31:16 +00:00 |
Arvid Norberg
|
656ff6d5f2
|
fixed piece_picker to not pick blocks from a piece with priority 0 when there already are requests to the piece
|
2008-09-19 17:07:19 +00:00 |
Arvid Norberg
|
eb89269b6a
|
update_interest fix for torrents without metadata
|
2008-09-19 07:14:24 +00:00 |
Arvid Norberg
|
fbec4261cd
|
fixed assert in piece_picker
|
2008-09-19 06:46:58 +00:00 |
Arvid Norberg
|
e85cb90652
|
fixed assert in peer_connection
|
2008-09-19 02:37:05 +00:00 |
Arvid Norberg
|
e7df553fdd
|
fixed race condition when calling a function that re-evaluates the interested flags on peers (such as prioritize files) right after the metadata is received, but before the connections are initialized
|
2008-09-18 20:17:49 +00:00 |
Arvid Norberg
|
f14e76a3f9
|
fixed typo in previous iterator fix
|
2008-09-18 17:53:44 +00:00 |
Arvid Norberg
|
cd1301b1c9
|
fix for invalid iterators when changing piece priorities causes peers to disconnect
|
2008-09-17 23:14:59 +00:00 |
Arvid Norberg
|
26dea3c222
|
fixed stats miscount when deleting files
|
2008-09-17 02:29:05 +00:00 |
Arvid Norberg
|
a533bf817c
|
properly reports disk io errors when hashing pieces. made the partial_hash.log easier to enable/disable
|
2008-09-16 23:32:27 +00:00 |
Arvid Norberg
|
53c408212d
|
nicer fix for debug iterators
|
2008-09-15 16:21:03 +00:00 |
Arvid Norberg
|
88a7e445ad
|
fixed decrement of start-of-sequence iterator in invariant_check code. Fixes debug-iterator assert
|
2008-09-15 15:07:46 +00:00 |
Arvid Norberg
|
658eef82a5
|
get rid of msvc warning
|
2008-09-15 13:58:38 +00:00 |
Arvid Norberg
|
166f761df3
|
fixed DHT bug where requests that timed out would be treated as transaction_id overflows and would slow down DHT lookups considerably.
|
2008-09-15 05:05:26 +00:00 |
Arvid Norberg
|
c087c363be
|
removed left over from debugging
|
2008-09-09 19:47:31 +00:00 |
Arvid Norberg
|
3077fdcb6a
|
fix crash when tracker connections fails in the constructor (used to be the case for scrape when there were no url transform from announce to scrape)
|
2008-09-07 10:03:59 +00:00 |