Arvid Norberg
|
7720b48263
|
removed invalid inline
|
2007-10-01 02:21:58 +00:00 |
Arvid Norberg
|
0048f343cd
|
upnp, natpmp and lsd now have proper lifetime management by using intrusive_ptr
|
2007-09-29 21:31:51 +00:00 |
Arvid Norberg
|
9597b98f4d
|
moved log_time() into session.cpp instead of being inlined
|
2007-09-29 20:35:55 +00:00 |
Arvid Norberg
|
b48948e231
|
changed the double send buffers to a chained buffer using iovec send operations. buffers are recycled (saves memory and cpu) and memory copies are avoided (saves cpu). More statistics is added to track buffer usage
|
2007-09-29 16:14:03 +00:00 |
Arvid Norberg
|
d48236a738
|
changed http_parser slightly. uses http_parser in lsd.cpp. added more tests to the http_parser
|
2007-09-25 03:14:05 +00:00 |
Arvid Norberg
|
6ce8d367a4
|
added error checking to endpoint to string conversion. fixes problem on systems without IPv6 support
|
2007-09-23 22:50:25 +00:00 |
Arvid Norberg
|
3b6aee6d86
|
switched out std::vector to use libtorrent::buffer as an optimization
|
2007-09-23 00:51:45 +00:00 |
Arvid Norberg
|
2e93b92cb4
|
more IPv6 fixes. support for multihomed machines by listening on multiple interfaces. added listen_succeeded_alert to advertize which interfaces are being listened on
|
2007-09-22 16:27:29 +00:00 |
Arvid Norberg
|
022c38d5f4
|
added is_any(address) function
|
2007-09-22 16:26:03 +00:00 |
Arvid Norberg
|
87c079033d
|
fixed race condition in enum_net
|
2007-09-22 16:22:41 +00:00 |
Arvid Norberg
|
a26bd55ff9
|
variant_stream fixes and added an operator<< for tcp::endpoint
|
2007-09-22 16:21:07 +00:00 |
Arvid Norberg
|
053f499ec6
|
better upnp support
|
2007-09-20 23:25:40 +00:00 |
Arvid Norberg
|
587d40e1ae
|
updates to enum_net
|
2007-09-20 16:25:07 +00:00 |
Arvid Norberg
|
338eedf961
|
added storage assert, fixed policy assert
|
2007-09-19 19:55:11 +00:00 |
Arvid Norberg
|
af95c01f24
|
torrent_handle fixes
|
2007-09-19 18:34:01 +00:00 |
Arvid Norberg
|
b0d51950b6
|
fixed problem in bandwidth_manager
|
2007-09-19 06:06:18 +00:00 |
Arvid Norberg
|
60f9d1366a
|
added more asserts to bandwidth limiter
|
2007-09-19 01:08:50 +00:00 |
Arvid Norberg
|
fbac9f785a
|
disabled loopback for upnp
|
2007-09-18 01:25:28 +00:00 |
Arvid Norberg
|
2661f834fd
|
added TORRENT_EXPORT to assert_fail
|
2007-09-17 18:19:08 +00:00 |
Arvid Norberg
|
bc897ef808
|
fixed compile warning
|
2007-09-17 10:00:08 +00:00 |
Arvid Norberg
|
b5a2373bff
|
added an option to generate a disk io log file
|
2007-09-17 08:15:54 +00:00 |
Arvid Norberg
|
8e899fa9fd
|
updated the assert macro to send SIGINT to the process (to break into the debugger) and also to be used on macos
|
2007-09-17 02:32:51 +00:00 |
Arvid Norberg
|
9364a2d01d
|
added priority to disk io jobs
|
2007-09-16 01:34:06 +00:00 |
Arvid Norberg
|
3a11c3bfad
|
broadcast socket and piece_picker fix
|
2007-09-15 20:20:07 +00:00 |
Arvid Norberg
|
73bb0c05ad
|
added 'incoming' peer source
|
2007-09-15 20:17:23 +00:00 |
Arvid Norberg
|
bdd14cc155
|
added reject and suggest hooks to peer plugins
|
2007-09-14 03:38:38 +00:00 |
Arvid Norberg
|
15a193d363
|
fixed race condition in tracker manager
|
2007-09-14 02:54:15 +00:00 |
Arvid Norberg
|
7bbfb3bd4b
|
added a userdata parameter to add_torrent that is passed in to plugins
|
2007-09-14 00:11:33 +00:00 |
Arvid Norberg
|
94f5b93d21
|
made it possible to pass in custom buffers to piece_manager::async_read, increased the maximum buffer size on bottled http_requests
|
2007-09-11 17:45:20 +00:00 |
Arvid Norberg
|
80aee32972
|
fixed piece picker problem when a downloading piece could not be picked with the right speed category
|
2007-09-10 08:07:18 +00:00 |
Arvid Norberg
|
57a76f9db6
|
fixed debug assert on linux
|
2007-09-10 06:12:41 +00:00 |
Arvid Norberg
|
ee5ce50502
|
made max half open connections default to 8 on windows and added query function for that limit on session.
|
2007-09-10 01:57:40 +00:00 |
Arvid Norberg
|
0d02fe0539
|
upnp and lsd update. added a broadcast_socket and made the upnp connection use the locally bound ip to specify its address in the soap requests
|
2007-09-09 23:52:34 +00:00 |
Arvid Norberg
|
4fcdea4172
|
piece picker fix
|
2007-09-09 23:46:28 +00:00 |
Arvid Norberg
|
777bb87a55
|
made connection_queue thread safe
|
2007-09-08 16:27:43 +00:00 |
Arvid Norberg
|
0d6970168d
|
piece picker updates
|
2007-09-06 18:30:46 +00:00 |
Arvid Norberg
|
49dfc4d63d
|
fixed typo
|
2007-09-06 00:51:14 +00:00 |
Arvid Norberg
|
24b57d62c8
|
piece picker fixes and optimizations (requires more tests in unit tests)
|
2007-09-05 21:21:11 +00:00 |
Arvid Norberg
|
6d40519e66
|
added support for piece picker to pick multiple pieces (previously it could only pick one piece tops). Made the web_peer_connection always try to make 1 MB requests at a time. added tests to the piece_picker unit test
|
2007-09-03 21:16:24 +00:00 |
Arvid Norberg
|
61c269efee
|
added timeout for interested peers that don't request once they're unchoked. Added support for suggest_piece
|
2007-09-01 07:38:10 +00:00 |
Arvid Norberg
|
fd42f3232b
|
upnp more logging and error recovery
|
2007-09-01 04:08:39 +00:00 |
Arvid Norberg
|
c8088459a0
|
made torrent_info reference counted and held by a boost::intrusive_ptr
|
2007-09-01 03:00:31 +00:00 |
Arvid Norberg
|
4aa018484a
|
fixed unchoke counter problem
|
2007-08-27 16:30:56 +00:00 |
Arvid Norberg
|
79e0e06fa9
|
improved bandwidth_limiter test and fixed problem where limits could lead to starvation
|
2007-08-27 10:20:23 +00:00 |
Arvid Norberg
|
2b0197e810
|
initial fix to enable mapping files in torrents to other files on disk. see torrent_info::remap_files
|
2007-08-25 18:26:43 +00:00 |
Arvid Norberg
|
c0ffdc51c7
|
piece picker fix and bandwidth_limiter typo fix
|
2007-08-25 05:09:25 +00:00 |
Arvid Norberg
|
d963625949
|
added assert to bandwidth_limiter
|
2007-08-24 02:12:07 +00:00 |
Arvid Norberg
|
cc54c242a1
|
rate limiter fix
|
2007-08-23 16:49:59 +00:00 |
Arvid Norberg
|
9e2367fd13
|
bandwidth limiter fix
|
2007-08-22 23:24:06 +00:00 |
Arvid Norberg
|
c0ed1fa13a
|
fixed default value for paused
|
2007-08-22 05:37:49 +00:00 |
Arvid Norberg
|
744d96796b
|
made it possible to start torrents in paused state. updated documentation
|
2007-08-22 05:31:42 +00:00 |
Arvid Norberg
|
4da3366a27
|
added invariant checks to session_impl
|
2007-08-21 18:33:28 +00:00 |
Arvid Norberg
|
23a20a24c1
|
added more asserts for choke/unchoke states and a peer_info flag to indicate a peer being optimistically unchoked
|
2007-08-21 17:45:28 +00:00 |
Arvid Norberg
|
a443225d49
|
added experimental assert with stacktrace for elf targets using gcc
|
2007-08-20 04:58:56 +00:00 |
Arvid Norberg
|
c70223ff38
|
added url seed related functions to torrent_handle
|
2007-08-17 16:40:55 +00:00 |
Arvid Norberg
|
3d3df51d45
|
fixed per torrent unchoke limit
|
2007-08-17 07:37:08 +00:00 |
Arvid Norberg
|
d00ce3b28b
|
optimized policy and removed #warning
|
2007-08-16 23:53:14 +00:00 |
Arvid Norberg
|
f8979ff932
|
applied patch from #97
|
2007-08-16 19:41:28 +00:00 |
Arvid Norberg
|
4ac1ac8a1f
|
removed allocate_resources. switched to a global unchoker and connection distribution
|
2007-08-16 12:41:46 +00:00 |
Arvid Norberg
|
b62bb7944f
|
merged fast-extension => trunk. the fast extension branch is now closed
|
2007-08-14 17:47:48 +00:00 |
Arvid Norberg
|
e802a74ecb
|
deprecated fix for gcc (requires 4.0+)
|
2007-08-11 15:12:21 +00:00 |
Arvid Norberg
|
6e78b6b824
|
optimization to only update peer interests in case a piece was filtered/unfiltered during a priority call
|
2007-08-10 21:13:35 +00:00 |
Arvid Norberg
|
a234de50e3
|
added deprecation messages to gcc
|
2007-08-10 16:57:53 +00:00 |
Arvid Norberg
|
fc74e5d147
|
added deprecation messages to gcc
|
2007-08-10 16:57:37 +00:00 |
Arvid Norberg
|
4d04588def
|
made libtorrent build on msvc-8 sp1
|
2007-08-08 21:22:59 +00:00 |
Arvid Norberg
|
f222fe8f4b
|
xml parser fixes
|
2007-08-07 06:48:47 +00:00 |
Arvid Norberg
|
cd05e4e67c
|
added support for xml declarators, comments, quoted attribute values and parse error messages in xml parser
|
2007-08-07 03:27:08 +00:00 |
Arvid Norberg
|
9f08256dff
|
added support for attributes in the xml parser
|
2007-08-07 01:32:38 +00:00 |
Arvid Norberg
|
be1faccd1d
|
peer_connection fixes for earlier pending disk buffer size limit
|
2007-08-03 08:19:10 +00:00 |
Arvid Norberg
|
8387240b31
|
more asserts, piece_picker fixes, debug-iterator fixes
|
2007-08-03 06:13:26 +00:00 |
Arvid Norberg
|
192ce4b463
|
added some extra checks for buffer overrun in disk_io_thread
|
2007-08-02 01:42:19 +00:00 |
Arvid Norberg
|
1973af7779
|
added alert messages for blocks finishing, pieces finishing and blocks being requested. patch by micah
|
2007-08-01 06:14:16 +00:00 |
Arvid Norberg
|
54aa76f940
|
exposed queued disk bytes in peer_info
|
2007-08-01 06:11:11 +00:00 |
Arvid Norberg
|
786d4e5f25
|
added a limit on how many bytes each connection can have pending in the disk write queue
|
2007-08-01 05:22:34 +00:00 |
Arvid Norberg
|
f67deba30e
|
fixed #81
|
2007-07-26 07:04:35 +00:00 |
Arvid Norberg
|
f89ce2669f
|
fixes #90. adds compact_mode to torrent_status
|
2007-07-23 04:36:56 +00:00 |
Arvid Norberg
|
664abc570b
|
uploads limit fix
|
2007-07-17 06:39:39 +00:00 |
Arvid Norberg
|
5ae2e83af6
|
fixed _SECURE_SCL issue with msvc8
|
2007-07-17 01:29:58 +00:00 |
Arvid Norberg
|
cf35ec6d9c
|
added asserts to try to catch #84
|
2007-07-15 19:00:41 +00:00 |
Arvid Norberg
|
1acedb39dc
|
prioritize more complete partial pieces over less complete ones
|
2007-07-15 15:41:55 +00:00 |
Arvid Norberg
|
96430f5edd
|
added an assert to bandwidth limiter
|
2007-07-15 14:24:06 +00:00 |
Arvid Norberg
|
6650a34cfd
|
fixed #83
|
2007-07-15 14:20:55 +00:00 |
Arvid Norberg
|
9bdf2a9c8d
|
fixed invariant check in policy
|
2007-07-10 17:25:10 +00:00 |
Arvid Norberg
|
47be8980ca
|
fixed typo in previous check-in
|
2007-07-09 17:45:45 +00:00 |
Arvid Norberg
|
df5a036066
|
fixed assert when using checked iterators
|
2007-07-09 17:34:38 +00:00 |
Arvid Norberg
|
182c917842
|
optimized peer_connection by postponing diffie hellman key creation and generation of handhake until the connection has succeeded
|
2007-07-09 04:22:38 +00:00 |
Arvid Norberg
|
4771f323f6
|
added invariant checks for peer_counter in block_info. added bytes_progress and block_size to block_info (to allow a more detail download progress display). Updated client_test to show download progress per block and also to have a separate color for 'multi blocks' (i.e. blocks that have been requested from more than one peer)
|
2007-07-08 20:45:42 +00:00 |
Arvid Norberg
|
82e1160214
|
introduced a non-rarest-first option to the piece picker that is used to pick the very first pieces in a torrent
|
2007-07-07 01:26:30 +00:00 |
Arvid Norberg
|
a3e66a3efe
|
made the piece picker handle multi-request blocks better. fixes problem that might occur at the end of a torrent where the piece picker could take over blocks back and forth
|
2007-07-06 17:15:35 +00:00 |
Arvid Norberg
|
0e1e1484ee
|
made test_piece_picker build on gcc 3.3
|
2007-07-04 18:05:29 +00:00 |
Arvid Norberg
|
b20270d243
|
added more asserts related to recent downloading_piece optimization and fixed a translation problem to the public interface
|
2007-07-04 15:46:10 +00:00 |
Arvid Norberg
|
3bdf01778a
|
chamged peer representation from tcp::endpoint to policy::peer pointer in piece_picker's downloading piece. Saves memory, removes the need for lookup and improves the hash check fail/pass handling for closed connections
|
2007-07-04 02:16:49 +00:00 |
Arvid Norberg
|
e714e1aeba
|
improved bandwidth limiter and added a unit test for it
|
2007-07-02 23:48:06 +00:00 |
Arvid Norberg
|
8aa37dfa39
|
fixed #75
|
2007-07-02 19:31:46 +00:00 |
Arvid Norberg
|
816bf3ff2d
|
made the number of peers requested from trackers customizable
|
2007-07-02 18:44:33 +00:00 |
Arvid Norberg
|
f05b06d4e5
|
added required operator on time_duration
|
2007-06-14 23:15:30 +00:00 |
Arvid Norberg
|
7d7a764f26
|
fixed a preprocessor condition bug where boost.date_time was being used when it shouldn't
|
2007-06-14 22:57:29 +00:00 |
Arvid Norberg
|
46bf2970fb
|
fixes to remote peer download rate etimation
|
2007-06-14 21:47:00 +00:00 |
Arvid Norberg
|
bbaa2efcb0
|
removed asserts that are can no longer be maintained with the async io
|
2007-06-13 18:09:52 +00:00 |
Arvid Norberg
|
5b5f3b3ca2
|
support for ip address in announce
|
2007-06-13 00:20:06 +00:00 |
Arvid Norberg
|
b75a69cd47
|
added alerts for synchronizing disk io when pausing and moving storage
|
2007-06-11 21:24:14 +00:00 |
Arvid Norberg
|
3b8670626a
|
merged back async_io branch into trunk
|
2007-06-10 20:46:09 +00:00 |
Arvid Norberg
|
6447a074eb
|
fixes to allow-multiple-connections-per-ip and a unit test that run a swarm of 3 local peers
|
2007-06-08 23:02:31 +00:00 |
Arvid Norberg
|
a7ad108e8a
|
made the unchoke interval configurable
|
2007-06-07 22:37:58 +00:00 |
Arvid Norberg
|
a3a2217276
|
an approximate peer download rate is now in peer_info
|
2007-06-07 00:05:18 +00:00 |
Arvid Norberg
|
bbd7fefa2c
|
fix for msvc
|
2007-06-06 23:27:29 +00:00 |
Arvid Norberg
|
273f8bd921
|
merged back encryption branch to trunk
|
2007-06-06 00:41:20 +00:00 |
Arvid Norberg
|
d0412a2244
|
added port filter for outgoing connections
|
2007-06-01 01:05:57 +00:00 |
Arvid Norberg
|
7e540a8d53
|
made inactivity time-out configurable
|
2007-05-31 19:57:15 +00:00 |
Arvid Norberg
|
31247c046a
|
supports turning on and off upnp, natpmp and lsd. All ofthem are now off by default
|
2007-05-31 00:21:54 +00:00 |
Arvid Norberg
|
b385ed6064
|
added socks4 proxy support
|
2007-05-30 23:35:14 +00:00 |
Arvid Norberg
|
0d9909f8d9
|
cleaned up the proxies. Factor out common code into a base class and added include guards
|
2007-05-30 09:07:33 +00:00 |
Arvid Norberg
|
14a15831ef
|
exposed piece availability vector
|
2007-05-30 06:52:59 +00:00 |
Arvid Norberg
|
1d15a5040c
|
removed old unused logging
|
2007-05-26 22:55:21 +00:00 |
Arvid Norberg
|
9fe77101ed
|
added support for lazy bitfields
|
2007-05-26 22:27:40 +00:00 |
Arvid Norberg
|
8679ee5916
|
have optimization is now optional, but on by default
|
2007-05-25 21:19:14 +00:00 |
Arvid Norberg
|
c10e74f4fc
|
improved control over the rate of connection attempts
|
2007-05-25 21:00:35 +00:00 |
Arvid Norberg
|
bb71832f5f
|
exposed some more peer info
|
2007-05-25 19:42:10 +00:00 |
Arvid Norberg
|
685f79b82f
|
option to ignore bandwidth limits for local peers. fixed some asserts when allowing multiple connections per IP
|
2007-05-25 17:06:30 +00:00 |
Arvid Norberg
|
510966f2a5
|
fixed fast resume data bug when using full allocation mode, and moved parts of resume data generation to the storage
|
2007-05-24 18:53:55 +00:00 |
Arvid Norberg
|
99a22dcae4
|
made dht requests be allocated in a pool allocator for heap and runtime efficiency. Fixes to DHT error responses
|
2007-05-23 08:45:12 +00:00 |
Arvid Norberg
|
883773e8fa
|
added shutdown logging and tracker manager shutdown flag
|
2007-05-23 01:02:46 +00:00 |
Arvid Norberg
|
cbd67ed729
|
added support for authentication in the url_parser and added a test for it
|
2007-05-22 20:44:18 +00:00 |
Arvid Norberg
|
1c147018db
|
fixed correct export macros for intrusive pointer refcounter functions
|
2007-05-21 19:31:37 +00:00 |
Arvid Norberg
|
6eb892fc04
|
added missing TORRENT_EXPORT
|
2007-05-17 20:37:42 +00:00 |
Arvid Norberg
|
8987d7077d
|
refactoring in natpmp, upnp and lsd. made lsd (probably) work on windows
|
2007-05-17 02:54:13 +00:00 |
Arvid Norberg
|
ea45641c8b
|
made lsd work
|
2007-05-17 00:01:51 +00:00 |
Arvid Norberg
|
633f174947
|
improved natpmp, upnp and lsd
|
2007-05-16 21:36:27 +00:00 |
Arvid Norberg
|
13ca78e92b
|
#47. introduced parole mode for peers that fails the hash check.
|
2007-05-16 04:12:13 +00:00 |
Arvid Norberg
|
e9601080bb
|
introduced swap_slots and swap_slots3 on storage_interface. All reads that needs it, should now be EOF safe (when using sparse files).
|
2007-05-16 01:16:08 +00:00 |
Arvid Norberg
|
b386aa23e9
|
DHT bugfix, more logging and less frequent private key generation. Fixed typo in identify_client
|
2007-05-14 17:49:36 +00:00 |
Arvid Norberg
|
8392276975
|
speed categories are now disabled before 1% of the pieces have been downloaded
|
2007-05-14 10:54:18 +00:00 |
Arvid Norberg
|
c5e150ee69
|
upnp fixes
|
2007-05-14 07:31:01 +00:00 |
Arvid Norberg
|
4a906aa31d
|
added option for session statistics output
|
2007-05-13 22:01:21 +00:00 |
Arvid Norberg
|
573d9f55d6
|
fixed compilation error when not using boost.date_time. Fixed compilation error when not having DHT logging enabled
|
2007-05-12 18:24:14 +00:00 |
Arvid Norberg
|
9f902e7b9f
|
the DHT now refreshes buckets properly.
|
2007-05-12 01:52:25 +00:00 |
Arvid Norberg
|
9ffde51404
|
fixed a bug caused by file_pool being destructed before torrents, and torrents using the file pool in their destructors
|
2007-05-11 23:41:31 +00:00 |
Arvid Norberg
|
6faa11f7ab
|
optimized web_peer_connection to use less memory and replaced std::copy with std::memmove in peer_connection
|
2007-05-11 18:40:22 +00:00 |
Arvid Norberg
|
f39185bb21
|
optimized the read callback to loop and exhaust the read buffer from the socket instead of making another async read call. #43
|
2007-05-10 01:50:11 +00:00 |
Arvid Norberg
|
a5847956e1
|
most of the metadata is now freed when a torrent becomes a seed. #44
|
2007-05-09 22:54:26 +00:00 |
Arvid Norberg
|
4371dbe02c
|
fixed resume data problem caused by recent piece_picker optimization
|
2007-05-09 03:18:53 +00:00 |
Arvid Norberg
|
6dcca9250b
|
optimized heap allocations in piece_picker. #42
|
2007-05-09 00:49:13 +00:00 |
Arvid Norberg
|
4956639171
|
piece picker optimization
|
2007-05-08 11:13:13 +00:00 |
Arvid Norberg
|
122841fc5e
|
attempt to memory optimization in DHT routing table
|
2007-05-08 08:49:07 +00:00 |
Arvid Norberg
|
508dfd722a
|
cleaned up policy a bit and the country code list
|
2007-05-05 22:55:34 +00:00 |
Arvid Norberg
|
7f27ed9c1f
|
fixed warnings in previous check in
|
2007-05-05 22:15:22 +00:00 |
Arvid Norberg
|
b239eecc04
|
updates to upnp code
|
2007-05-05 22:06:26 +00:00 |
Arvid Norberg
|
49bd69cad4
|
introduced a proper half open TCP connection limit. Also exposed the connection queue to let clients use the same connection limiter as libtorrent. UPnP connections and tracker connection are now also limited as well as peer connections and web seeds
|
2007-05-05 00:29:33 +00:00 |
Arvid Norberg
|
52f9abb652
|
fixed upnp header define
|
2007-05-04 20:55:39 +00:00 |
Arvid Norberg
|
c7b4f49d5a
|
moved initialization of multicast addresses from global initializers to local constructors to avoid WSAStartup issues on windows
|
2007-05-04 06:47:32 +00:00 |