Steven Siloti
7b5bdc3be9
DHT nodes can NOT share a receive buffer
...
While the simulation is single threaded, because async_receive_from_impl uses
post() to invoke the receive handler it is possible for multiple receive
handlers to be queued up in the io_service at the same time. If this happens
with a shared receive buffer the last packet received will overwrite all the
other packets before they are handled.
The use of post() is necessary to avoid unbounded recursion in the read handler
so each node must get its own buffer.
2016-01-10 18:30:16 -08:00
arvidn
e06daa68a4
overhaul the dht simulator (setup_dht) to be more flexible and cheaper to run thousands of nodes
2016-01-09 01:08:52 -05:00
arvidn
fb8d40a50c
update libsimulator to fix msvc build
2015-12-31 21:31:15 -05:00
arvidn
448951af9c
update libsimulator submodule
2015-12-28 19:48:58 -05:00
arvidn
1698dc75dc
remove redundant boost::bind
2015-12-25 15:59:50 -05:00
arvidn
fb9d788bf9
update libsimulator submodule
2015-12-23 23:04:09 -05:00
arvidn
9fd8b1d7c3
update libsimulator submodule
2015-12-23 21:52:11 -05:00
arvidn
63c3ff61e2
update submodule
2015-12-22 01:26:49 -05:00
arvidn
197ca4e06d
transition http proxy test for http_connection to the sim
2015-12-22 00:45:16 -05:00
arvidn
99091a67d4
fix submodule
2015-12-19 00:11:04 -05:00
arvidn
1f3f06a836
forward port fix for deleting files of magnet link to master
2015-12-18 18:33:31 -05:00
arvidn
49b5a0d7d9
add support for codecov.io
2015-12-17 00:51:35 -05:00
arvidn
1712a8e4b4
polish the stop-when-ready flag and improve documentation
2015-12-13 20:31:28 -05:00
Arvid Norberg
550b0bb047
Merge pull request #313 from arvidn/setup-swarm-cleanup
...
clean up setup-swarm simulation utility to be more flexible
2015-12-12 14:07:26 -05:00
arvidn
d505f93d7a
port sim tests to use the new setup_swarm API
2015-12-12 00:41:47 -05:00
arvidn
1f453bf159
clean up setup-swarm simulation utility to be more flexible to make it easier to add new tests. remove swarm_suite layer as it's not necessary anymore
2015-12-12 00:41:40 -05:00
arvidn
d80a129871
fix gcc warnings
2015-12-12 07:15:24 +02:00
arvidn
99eb440945
comment in test_swarm
2015-12-04 23:39:37 -05:00
arvidn
332799bff2
make alert types declared final and disable the log alert declarations when logging is disabled
2015-11-29 10:16:02 -05:00
arvidn
2c3d7ee0ef
fix a bug where the torrent's invariant was not always maintained as well as a shutdown issue (now covered by test as well)
2015-11-28 14:14:49 -05:00
arvidn
7b84c8122e
extend test_transfer to include IPv6-only networks
2015-11-28 01:00:06 -05:00
arvidn
a8e31fd8ca
add first coverage of test_transfer as a proper sim
2015-11-28 00:59:39 -05:00
arvidn
847cd340ee
extend tracker sim test and fix some bugs in tracker error reporting
2015-11-24 23:38:49 -05:00
arvidn
eed17f0bc1
remove the cases from non-sim test that are covered by the new http_connection sim test
2015-11-24 00:39:02 -05:00
arvidn
47cd496617
extend http_connection sim test to proxy hostnames
2015-11-24 00:39:02 -05:00
arvidn
710e510c4b
fix format string to be msvc compatible and work-around issue with boost.asio beeing header-only and instantiating multiple error_category objects when linking shared
2015-11-24 00:39:02 -05:00
arvidn
e3dad98fbe
fix an old use of posix_category. make http_connection translate IPs into proper endpoints when connecting over socks (instead of passing the IP on as a hostname string). add test coverage
2015-11-24 00:39:02 -05:00
arvidn
92236a9923
clean up error_code use, and use error_condition to test for errors in test_http_connection
2015-11-24 00:39:01 -05:00
arvidn
fa3215f8c7
don't capture buffer by value in lambda expression
2015-11-24 00:39:01 -05:00
arvidn
8db3fef969
update libsimulator
2015-11-24 00:39:01 -05:00
arvidn
174e0aeb46
fix semantics of socks5_stream and http_connection to make them not close themselves. Add socks5 and socks4 proxy coverage in test_http_connection
2015-11-24 00:39:01 -05:00
arvidn
91868f2086
add test for gzipped http responses
2015-11-24 00:39:01 -05:00
arvidn
9e971895dc
test chunked encoding in new http_connection test
2015-11-24 00:39:01 -05:00
arvidn
c6e46ae305
improve http_connection simulation test and extend it
2015-11-24 00:39:01 -05:00
arvidn
f4a2b4d949
start of an http_connection test under the simulator
2015-11-24 00:39:01 -05:00
arvidn
ed3dbaa78e
also make sure trackers are subject to the IP filter
2015-11-21 09:30:02 -05:00
arvidn
73381d223b
add integration test for IP filter
2015-11-21 02:31:53 -05:00
arvidn
4a30653084
improve coverage of stop-start-test
2015-11-20 22:27:33 -05:00
arvidn
c0d6b20634
extend swarm simulation test to include stopping and starting and graceful pause
2015-11-20 22:27:12 -05:00
arvidn
74d12bd35b
update libsimulator
2015-11-07 22:50:51 -05:00
arvidn
2592acfd8c
fix c++98 build
2015-11-07 21:14:52 -05:00
arvidn
06f702b21a
fix test_tracker build
2015-11-07 14:57:25 -05:00
arvidn
1fa184ba8a
fix msvc-10.0 build
2015-11-07 10:01:01 -05:00
arvidn
ee7774ea37
fix appveyor build
2015-11-07 00:22:13 -05:00
arvidn
1046f0c121
update libsimulator submodule
2015-11-02 01:16:40 -05:00
arvidn
b756465157
update libsimulator
2015-10-31 10:58:20 -04:00
arvidn
3462c061a7
merged error handling fix from RC_1_0
2015-10-31 10:06:15 -04:00
arvidn
729a8e9152
update libsimulator. add simulation/test for announcing twice to trackers over IPv4 and IPv6. fix bugs preventing libtorrent from doing that correctly
2015-10-27 00:21:07 -04:00
arvidn
b2796af5b3
update libsimulator submodule and fix a warning
2015-10-25 16:59:28 -04:00
arvidn
6009547613
update libsimulator submodule
2015-10-25 14:44:05 -04:00
arvidn
3cc464805f
update libsimulator submodule
2015-10-25 10:55:20 -04:00
arvidn
a75dfe2eb6
silence warnings in boost headers in dht_storage
2015-10-25 09:30:56 -04:00
arvidn
234ac8adeb
update libsimulator submodule with IPv6 support
2015-10-24 15:57:22 -04:00
arvidn
51c6079c42
add stop-when-ready feature, to support checking torrents without starting the download afterwards
2015-10-04 13:08:23 -04:00
arvidn
cae4e3dfe2
fix documentation
2015-09-29 21:05:18 -04:00
arvidn
5da511f140
now that force-started torrents aren't affected by the auto-manager, they need to be explicitly kicked when entering checking state (it would be nice if all this could be done through set_state())
2015-09-29 20:49:38 -04:00
Alden Torres
197a443465
Fix of dht_storage_counters::peers counter.
2015-09-24 10:50:04 -04:00
arvidn
e7a2bd8614
update libsimulator
2015-09-21 16:31:05 -07:00
arvidn
fb2f659a31
fix bug in time keeping of active_time, seeding_time, finished_time etc.
2015-09-21 00:38:56 -07:00
arvidn
67a33dd792
update libsimulator
2015-09-20 19:55:29 -07:00
arvidn
73d2b8dc89
more msvc-12 support, and build sim config first on appveyor
2015-09-20 19:31:04 -07:00
arvidn
7000576588
attempt msvc-12 support
2015-09-20 18:52:34 -07:00
arvidn
b628692223
separate out announce_entry and torrent_status into their own headers
2015-09-18 08:08:08 -04:00
arvidn
c9a0212ee0
add simulation of tracker announces
2015-09-16 20:49:10 -04:00
arvidn
28ffc6969a
revert appveyor build image
2015-09-15 08:08:00 -04:00
arvidn
5e3d0dcbb9
update libsimulator submodule
2015-09-12 13:45:35 -04:00
arvidn
edc26cf90d
update libsimulator
2015-09-10 00:08:39 -04:00
arvidn
c0a4f7ba26
fix super seeding assert (forward port from RC_1_0)
2015-09-08 18:17:13 -04:00
arvidn
cb65694578
fix const correctness in xml_parse(). update unit tests rss and upnp to use new signature for parser callback
2015-09-06 00:38:33 -04:00
arvidn
43ee75ce02
only post listen_succeeded_alert once all sockets have succeeded, since we may re-open previously successful ones if a later one fails
2015-09-05 22:14:04 -04:00
arvidn
b0a395aa61
remove unused includes from test
2015-08-30 21:51:32 -04:00
arvidn
cc29a99c90
(merge commit from Andrew Starr-Bochicchio <asb@debian.org>) Running setup.py without LDFLAGS or explicitly passing includes will attempt to use bjam. This causes "python setup.py clean -a" to fail when building the package.
2015-08-27 06:52:13 -04:00
arvidn
7f24fb41ef
fix test_metadata_extension
2015-08-22 08:09:09 +02:00
arvidn
91a08606cf
attempt tp get submodules to work on travis again
2015-08-19 21:38:41 +02:00
arvidn
a3608a39fe
fix some warnings
2015-08-19 02:00:46 +02:00
arvidn
d14e8a3487
update libsimulator
2015-08-17 09:08:41 -04:00
arvidn
eecdd3121d
fix some build warnings
2015-08-17 09:01:43 -04:00
arvidn
2e5a85056b
fix uninitialized variable in test_dht (would cause stall)
2015-08-16 20:45:54 -04:00
arvidn
506d515151
disable dht simulation for now
2015-08-14 08:15:52 -04:00
arvidn
54e483647c
scale down the DHT simulation even more
2015-08-13 23:07:32 -04:00
arvidn
225b82d9a0
move test_trackers_extensions over to a simulation and some minor metadata extension and tracker re-announce fixes
2015-08-13 23:07:04 -04:00
arvidn
d2819cd1b9
fix uninitialized variable in test_pe_crypto simulation
2015-08-12 20:18:47 -04:00
arvidn
874bfcc89e
transitioned test_super_seeding to a simulation (and remove the live test for test_swarm, which already has been transitioned to a simulation)
2015-08-10 10:18:36 -04:00
arvidn
f2455c8689
made test_metadata_extension a bit more reliable
2015-08-10 10:02:01 -04:00
arvidn
a75699eff1
move test_metadata_extension to a simulation instead of a live test
2015-08-10 09:17:41 -04:00
arvidn
a3dbbd6a37
transition the test_pe_crypto system tests to be simulation
2015-08-10 06:57:51 -04:00
arvidn
e557e63d05
scale down the dht simulation, to try to make it pass travis and appveyor time limits
2015-08-09 22:07:27 -04:00
arvidn
d977f2e68f
attempt to make appveyor happy
2015-08-09 17:54:10 -04:00
arvidn
4fa0aa62da
simulate IP routes, interfaces and page size when building in simulation mode
2015-08-09 15:01:01 -04:00
arvidn
6068418def
fix and re-enable simulations
2015-08-09 00:56:37 -04:00
arvidn
912243833e
fix shared linking of simulations
2015-08-08 23:04:49 -04:00
arvidn
8ea2c0fa48
update libsimulator
2015-08-08 20:41:34 -04:00
arvidn
6cb8b0eeaa
update libsimulator
2015-08-08 20:08:45 -04:00
arvidn
3f0a9c6f4d
update libsimulator version
2015-08-08 19:31:20 -04:00
arvidn
3963d47385
fix shared linking against libtorrent_test
2015-08-08 18:13:43 -04:00
arvidn
72286eb0dc
minor asio.ssl abstraction cleanup. update libsimulator with build fix. only run simulator on one of the build variants on travis, since the simulator does not support ssl
2015-08-08 16:19:44 -04:00
arvidn
3594da7839
on travis, use libc++ together with clang. Update libsimulator to fix gcc build
2015-08-08 13:08:41 -04:00
arvidn
2b0920f407
update libsimulator
2015-08-08 02:53:20 -04:00
arvidn
290ba39d8d
update libsmulator
2015-08-07 23:52:11 -04:00
arvidn
46803b75f8
support building libtorrent in simulation mode (using libsimulator, which is a git submodule)
2015-08-07 21:31:59 -04:00