Commit Graph

8263 Commits

Author SHA1 Message Date
arvidn c0d6b20634 extend swarm simulation test to include stopping and starting and graceful pause 2015-11-20 22:27:12 -05:00
Arvid Norberg 2eabf99307 Merge pull request #276 from arvidn/msvc-warnings
attempt to fix some msvc warnings
2015-11-20 08:04:38 -05:00
arvidn 4c790043a1 fix invariant check failure in torrent::pause 2015-11-20 01:38:21 -05:00
arvidn f03cefceb6 fix documentation bugs 2015-11-20 01:00:39 -05:00
Arvid Norberg daee339ac2 Merge pull request #279 from aldenml/missing-version-file-cmake
Missing file version.cpp in CMakeLists.txt
2015-11-20 00:36:13 -05:00
arvidn 4aaa8ca4a9 silence msvc performance warnings. introduce more override and finals 2015-11-19 23:37:45 -05:00
arvidn c9c5496f1c lower alignment requirement of socket_type to silence msvc warning (it was probably not warranted in the first place anyway) 2015-11-19 22:50:40 -05:00
Alden Torres a03b18f803 Missing file version.cpp in CMakeLists.txt 2015-11-19 21:56:51 -05:00
arvidn fba0762353 fix some msvc warnings 2015-11-19 19:01:54 -05:00
Arvid Norberg 6fc0b3609f Merge pull request #270 from arvidn/storage-refactor
factor out readwritev to a free function, to allow unit testing of it
2015-11-19 19:01:34 -05:00
arvidn 07574117ad add test for readwritev and experiment with SEH handler in test 2015-11-19 17:58:56 -05:00
arvidn 964031c070 factor out readwritev to a free function, to allow unit testing of it 2015-11-19 17:58:55 -05:00
Arvid Norberg 12b5404970 Merge pull request #278 from mhsjlw/patch-1
Remove un-needed line break that causes errors
2015-11-19 08:13:22 -05:00
mhsjlw 3c9c4d0af1 Remove un-needed line break that causes errors 2015-11-19 07:32:53 -05:00
arvidn cec6748e0c remove the concept of slots, and just talk about pieces (since we don't do compact allocation anymore). Remove the section about compact allocation 2015-11-19 01:38:04 -05:00
Arvid Norberg 9bed3d1dd5 Merge pull request #272 from ssiloti/master
fix assert after a DHT get/put request
2015-11-17 20:37:13 -05:00
Steven Siloti 86116caf4c fix assert after a DHT get/put request
If an observer is abandoned due to there being more than 100 results in a
traversal then the traversal may complete while the observer is still
outstanding. When the observer times out or is aborted it calls
traversal_algorithm::failed() which asserts because m_invoke_count has been
cleared to zero by traversal_algorithm::done().

To fix this add a check when abandoning observers to see if they have an
outstanding query. If they do then flag them as done to prevent them from
calling back into the traversal and decrement the invoke count.

Fixes #271
2015-11-16 21:05:32 -08:00
Arvid Norberg 0dbe94616a Merge pull request #269 from ssiloti/master
fix assert in dht::observer
2015-11-15 18:13:01 -05:00
Steven Siloti ba1ccdec66 fix assert in dht::observer
This is was introduced by c2277b3ea5
"fix traversal_algorithm::done() being invoked more than once".
2015-11-14 18:30:42 -08:00
Arvid Norberg 64aba31e30 Merge pull request #263 from thomas-yuan/dead_loop_on_ios
Fix iOS dead loop issue.
2015-11-14 12:55:53 -05:00
Arvid Norberg bdfed667e3 Merge pull request #267 from arvidn/storage-fix
fix support for incomplete reads/writes from disk
2015-11-14 12:54:57 -05:00
arvidn 15c6f0530f update libsimulator 2015-11-14 09:11:24 -05:00
arvidn c7a4eefd69 fixed typo 2015-11-14 02:22:35 -05:00
Thomas Yuan b536cd4ab4 Fix iOS dead loop issue. 2015-11-14 00:53:39 -05:00
arvidn fb2f2731cf fix support for incomplete reads/writes from disk 2015-11-14 00:21:03 -05:00
Arvid Norberg 647a96eb8a Merge pull request #264 from aldenml/cross-build
Fixed to make it more cross compile friendly
2015-11-13 23:28:55 -05:00
Alden Torres 611d0c1c6e Fixed to make it compatible with mingw-w64 and generic linux 2015-11-13 07:55:28 -05:00
Arvid Norberg d84cffd7e1 Merge pull request #265 from ssiloti/master
the simulator always supports IPv6
2015-11-13 00:02:13 -05:00
Steven Siloti 1bd706ac14 the simulator always supports IPv6 2015-11-12 20:52:30 -08:00
Arvid Norberg ef1f399fd3 Merge pull request #259 from arvidn/deterministic-rand
use a consistent random number generator
2015-11-12 21:45:09 -05:00
Arvid Norberg 401f12b287 Merge pull request #260 from arvidn/ip-filter
fix IP filter bug when adding a torrent after setting the filter
2015-11-12 21:44:40 -05:00
arvidn 524cf00fcb forward port of version change from RC_1_0 2015-11-12 21:35:50 -05:00
arvidn aef449ad65 update changelog from RC_1_0 2015-11-12 21:28:50 -05:00
Arvid Norberg aa30d64432 Merge pull request #255 from bit/mutable_python
fix mutable dht entries in python bindings
2015-11-12 20:23:28 -05:00
arvidn d4d5f37222 fix typo 2015-11-12 01:42:44 -05:00
arvidn 2626159abe use a consistent random number generator to make simulations deterministic 2015-11-12 00:21:56 -05:00
arvidn 8fa6863e15 fix IP filter bug when adding a torrent after setting the filter 2015-11-11 20:43:42 -05:00
Arvid Norberg bae2b3394f Merge pull request #258 from arvidn/version
forward-port version function from RC_1_0
2015-11-11 19:13:44 -05:00
Arvid Norberg 39f62fe3d9 Merge pull request #251 from arvidn/ipv6-fix
fix IPv6 tracker announce
2015-11-11 19:13:31 -05:00
arvidn fbf152abc0 attribute external IP voting to the actual tracker IP we connected to, and preserve endpoint list in http_connection to make the re-announce to IPv6 logic robust 2015-11-11 01:30:28 -05:00
arvidn d0dcf82612 fix bug in set_version and update version hash 2015-11-11 01:25:30 -05:00
arvidn 4c0b00c390 forward-port version function from RC_1_0 2015-11-11 00:57:51 -05:00
Arvid Norberg 4ebca897d9 Merge pull request #252 from ssiloti/traversal_multiple_dones
fix traversal_algorithm::done() being invoked more than once
2015-11-10 01:44:37 -05:00
Steven Siloti 08632aa5f7 add unit test to check for multiple calls to done() 2015-11-09 20:47:33 -08:00
Steven Siloti c2277b3ea5 fix traversal_algorithm::done() being invoked more than once
A traversal can be done while there are still outstanding queries (i.e.
m_invoke_count is non-zero) if K good responses have already been received and
none of the outstanding queries are closer than the nodes which have responded.

When this happens and the outstanding queries eventually complete or timeout
they call traversal_algorithm::failed() or traversal_algorithm::finished() as
usual which will cause traversal_algorithm::done() to be called yet again.

The fix is to always set the done flag on all queried observers in
traversal_algorithm::done() so that the observers will refrain from calling
back into the traversal.

This also makes traversal_algorithm::abort() redundant since this was the only
thing it did before it called into done().
2015-11-09 20:47:33 -08:00
j a16b8f374b python bindings: fix dht_put/get_mutable_item
- accept strings for public/private keys,
  its not possible to pass boost::arrarys
- sign data passed to dht_put_mutalbe_item
2015-11-09 04:49:49 +01:00
arvidn 0c435b42b2 add some more slack to one of the unit tests 2015-11-08 16:26:58 -05:00
j d36122f252 expose dht put/get data in alerts 2015-11-08 19:06:07 +01:00
arvidn 4814855933 update cache_size docs and raise the cap for 32 bit builds 2015-11-08 10:49:38 -05:00
arvidn 74d12bd35b update libsimulator 2015-11-07 22:50:51 -05:00