Commit Graph

1129 Commits

Author SHA1 Message Date
arvidn 65fef972a2 apply some c++11 modernization 2018-01-11 04:51:39 -05:00
pavel.pimenov 5a772325a0 redundant is_finished(block.block) 2018-01-09 03:20:28 -05:00
arvidn 3a9861e237 complete the error handling test and make it part of the default simulation test suite. It will run a file transfer between two clients repeatedly, each time cause another memory allocation fail, until every single memory allocation has failed once. Any invariant check failure, assertion or signal will cause the test to fail 2018-01-08 04:44:52 -05:00
arvidn 88643dd121 fix m_in_constructor assert for peer_connection (if the peer connection is constructed, but bt_peer_connection constructor fails, it needs to be cleared). Fix an invariant in session on ungraceful shutdown. Make test framework a bit more robust 2018-01-06 14:29:20 -05:00
arvidn 0731200149 block_size is a constant, no need in passing it around as a variable 2018-01-03 08:45:25 -05:00
arvidn 1884061418 revert redundant wrapping some function calls with error handlers. Error handling is already built into the handler allocator 2017-12-27 21:22:34 +01:00
arvidn 347555ea8f handle errors in peer_connection 2017-12-26 10:39:54 +01:00
arvidn 753826cbb8 merger RC_1_1 into master 2017-12-23 18:15:01 +01:00
arvidn 67be35739c :attempt to fix disconnections when torrents enter upload mode due to failures 2017-12-23 09:24:26 +01:00
arvidn 55babc57e6 merged RC_1_1 into master 2017-12-15 17:18:27 +01:00
arvidn d1a63cd781 fix build against boost-1.66, specifically the boost.asio changes 2017-12-15 11:29:53 +01:00
arvidn 5ce798197c merged RC_1_1 into master 2017-12-02 11:39:23 +01:00
Alden Torres f2681412e7 more use of const in peer_connection.cpp and minor code refactor 2017-11-28 09:45:40 +01:00
Arvid Norberg e15f466137
fix issue with receiving interested before metadata (#2557) 2017-11-25 15:31:37 +01:00
arvidn 521587c026 make sure the cork destructor doesn't leak exceptions 2017-11-12 23:03:54 +01:00
arvidn 254f813626 factor out handler allocator and reuse it for posting deferred peer removals on torrents 2017-11-11 10:41:39 +01:00
arvidn d4864b8b18 some noexcept fixes 2017-11-10 09:05:15 +01:00
arvidn 6785046c2f introduce a download_priority_t type, for uniform an type-safe piece- and file priorities 2017-11-02 08:20:21 +01:00
arvidn d22c44c057 fix kludge and down-cast to send upload_only. Promote upload-only to a top-level peer feature 2017-09-23 07:51:51 -07:00
Alden Torres 5c91301e6d more use of auto, const, size, minor code refactor and cleanup 2017-09-18 23:59:41 +02:00
arvidn 93bb84d94c some random cleanup 2017-09-13 08:28:46 +02:00
arvidn 55228756e5 make disk job flags type safe 2017-09-10 08:56:52 +02:00
Arvid Norberg 1075ae3b8d remove session pool allocator and use the buffer class instead (#2274)
simplify append_buffer by using size() to determine size of the buffer. make the move explicit in chained_buffer::init_buffer_entry
2017-08-28 11:37:53 +02:00
arvidn f9c45db942 make bandwidth state flags use type-safe flags 2017-07-17 19:03:42 -07:00
arvidn 06070ea499 convert block request flags to type-safe flags 2017-07-17 17:56:07 -07:00
arvidn c4659bc345 convert peer_flags and peer_source_flags to type-safe flags 2017-07-17 10:22:32 -07:00
arvidn f85c01cc0a merged RC_1_1 into master 2017-06-21 00:51:43 -04:00
arvidn ff454a92d4 unify some operation-enums and strings to use operation_t 2017-06-18 07:31:45 -04:00
arvidn 53cbb607d0 first steps towards spell checking documentation 2017-06-17 22:59:57 -04:00
arvidn 1fd350cf60 make operation_t an enum class, for type safety 2017-06-15 07:00:06 -04:00
arvidn 3f09d16e3c defer reconnecting peers to after the second_tick loop (to avoid mutating m_connections while iterating over it) 2017-06-14 10:35:50 -04:00
arvidn 4de9f6a75b remove requester parameter to disk read jobs 2017-06-08 12:38:25 +02:00
Steven Siloti 40cfceb994 restore find_plugin API (#2026) 2017-05-24 23:29:21 -04:00
arvidn 4eb5155263 use span<> for peer_connection::send_buffer 2017-04-25 23:02:32 -04:00
Alden Torres b863306c8b minor code cleanup (#1933) 2017-04-22 21:33:38 -04:00
arvidn 8eafd84273 merge send_message utility functions in bt_peer_connections into a template 2017-04-19 22:27:30 -04:00
Steven Siloti 969c0167d4 remove calls to RAND_add
This function has been removed from LibreSSL and offers dubious value.
The PRNGs in modern operating systems are robust enough that these little extra
bits arn't going to make a difference.
2017-04-15 22:00:29 -04:00
arvidn 480bde9333 change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
arvidn 79d7ae3638 separate path and filesystem functions out into its own translation unit/header file pair, separating it from the file and directory class 2017-04-11 18:07:55 -04:00
Alden Torres bb9b5bf4b8 schedule peer removal only if properly attached and handle special case of attach_peer (#1872)
schedule peer removal only if properly attached and handle special case of attach_peer
2017-04-01 12:15:20 -04:00
Arvid Norberg 7d3a8f5b19 don't remove peers from the connection list immediately when disconnecting (#1782)
don't remove peers from the connection list immediately when disconnecting them, but defer it until later. This makes it less error prone to disconnect peers in loops over the connections
2017-03-07 13:50:03 -05:00
Arvid Norberg 8cf6e9e37c use span<> to return the block_info for a piece (#1777)
use span<> to return the block_info for a piece to improve range checks and loops
2017-03-04 23:45:07 -05:00
Alden Torres 3a93e1767b fixing sign issues in peer_connection::send_allowed_set 2017-02-24 22:21:14 -05:00
arvidn 2c51c59327 merge RC_1_1 into master 2017-02-18 13:29:12 -05:00
Alden Torres a670871519 fix build from RC_1_1 merge 2017-02-17 19:06:51 -05:00
arvidn 7b61313b99 fix invalid access when leaving seed-mode with outstanding hash jobs 2017-02-17 15:37:56 -05:00
Pavel Pimenov 7f4c8aaf75 Add const peer_request p -> peer_request const& p (#1705)
Add const peer_request p -> peer_request const& p
2017-02-14 00:17:02 -05:00
Alden Torres 1f72843fe3 fixing sign-conversion warnings, part 13, minor refactor (#1675)
fixing sign-conversion warnings, part 13, minor refactor
2017-02-07 23:36:13 -05:00
arvidn 34ecb60c09 use enum class for close reason 2017-02-04 11:24:35 -05:00
Alden Torres 4c487ec47c using std:: for integral types 2017-02-03 22:15:47 -05:00