Arvid Norberg
77bd5c9c7e
remove some c++98 fallback code
2019-01-20 18:28:51 +01:00
Alden Torres
6a13d14f11
more use of const modifier
2018-08-15 07:41:41 +02:00
Alden Torres
8a0ac58658
some lint oriented refactor, more use of const
2018-05-30 23:52:28 +02:00
Alden Torres
d6cecee8c0
some code cleanup and minor refactor
2018-05-24 23:46:37 +02:00
Alden Torres
7621be6df1
fixed signed/unsigned warnings with latest version of Xcode clang ( #3032 )
2018-05-16 16:06:33 +02:00
arvidn
fe612ca167
replace the TORRENT_CFG ABI check with inline namespaces around the symbol that can change ABI based on build configuration options
2018-05-13 19:25:17 +02:00
Alden Torres
8da635d1f5
minor code cleanup, more use of const
2018-05-01 23:03:29 +02:00
arvidn
8621477239
merged RC_1_1 into master
2018-04-28 14:36:24 +02:00
Steven Siloti
f5e33932d2
fix use after free in flush_range and flush_iovec
...
Calling blocks_flushed can cause the piece entry to be freed so its
callers need to be aware of that and avoid dereferencing the pointer if
the entry is freed.
2018-04-27 16:15:19 +02:00
arvidn
f0227451a6
merged RC_1_1 into master
2018-04-13 01:47:41 +02:00
Alden Torres
9b1e79660f
removed unnecessary parentheses around min/max, added some const modifier ( #2926 )
2018-04-11 15:19:00 +02:00
arvidn
aaf9304a3b
update year in copyright header
2018-04-09 09:04:33 +02:00
arvidn
65fef972a2
apply some c++11 modernization
2018-01-11 04:51:39 -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
0731200149
block_size is a constant, no need in passing it around as a variable
2018-01-03 08:45:25 -05:00
arvidn
c3bdc6f825
use an intrusive linked list for peer_cache_entry instead an unordered set, to avoid heap allocations and make cache operations not able to fail. This simplifies error handling
2017-12-28 00:52:09 +01:00
arvidn
d4864b8b18
some noexcept fixes
2017-11-10 09:05:15 +01:00
arvidn
8adcfdbf41
make disk_buffer_holder know the size of the bufer it holds, to fix buffer overrun in chained_buffer
...
fix
2017-10-13 21:07:31 +02:00
Arvid Norberg
60b74d2616
merged RC_1_1 into master
2017-10-10 14:25:12 +02:00
arvidn
a9524550d7
don't delete pieces from cache with refcount > 0
2017-10-09 17:48:08 +02:00
Arvid Norberg
86c37af147
fix integer overflow in torrent_info
2017-09-29 14:08:47 -07:00
arvidn
7717c02c2f
run sonarqube with deprecated functions disabled. fix some of its code smells
2017-09-17 18:06:53 +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
Steven Siloti
2365611507
remove support for using a pool allocator for disk buffers ( #2257 )
2017-08-19 11:04:39 +02:00
arvidn
9a19ff344b
remove resolve_links disk job left-overs and convert some C-arrays to std::array
2017-06-13 20:35:55 -04:00
arvidn
147d996160
make the job action enum an enum class
2017-06-11 23:53:58 +02:00
arvidn
4de9f6a75b
remove requester parameter to disk read jobs
2017-06-08 12:38:25 +02:00
arvidn
749d0da875
make iovec_t an alias for span<char>, in preparation for removing it altogether in favour of span
2017-04-30 11:49:08 -04:00
arvidn
04c76249b6
merged RC_1_1 into master
2017-04-21 01:21:31 -04:00
arvidn
227830e757
fix memory leak in the disk cache. if a cached_piece_entry would stick around in a ghost list (ARC), it would keep the torrent object itself alive. when aborting read jobs, the outstanding_read flag need to be cleared on the piece. When reclaiming a block for a piece that should be deleted (not just evicted) it need to know that. This patch adds an additional bit to cached_piece_entry to communicate this
2017-04-19 22:30:27 -04:00
arvidn
df299fcb00
use boost::variant for disk_io_job in/out parameter, to support holding a proper disk io buffer handle and string
2017-04-17 15:08:27 -04:00
arvidn
86f67bd9d9
return a reference instead of pointer to file_storage in storage_interface
2017-04-07 20:27:38 -04:00
Alden Torres
d36c598eeb
fixing sign-conversion warnings, part 10 ( #1642 )
...
fixing sign-conversion warnings, part 10
2017-01-30 20:31:32 -05:00
Alden Torres
2437b3c134
created aux::typed_span and related refactor
2017-01-28 23:28:38 -05:00
Alden Torres
3803661863
moved alloca.hpp to private aux_ and size refactor ( #1634 )
...
moved alloca.hpp to private aux_ and size refactor
2017-01-27 12:43:34 -05:00
Alden Torres
2bc7a60f33
fixing sign-conversion warnings, part 8, created aux::unique_ptr, refactor ( #1616 )
...
fixing sign-conversion warnings, part 8, created aux::unique_ptr, refactor
2017-01-26 08:31:20 -05:00
Alden Torres
df6cb6a48d
fixing sign-conversion warnings, part 4, minor refactor ( #1549 )
...
fixing sign-conversion warnings, part 4, minor refactor
2017-01-14 18:53:25 -05:00
Arvid Norberg
3d06371f31
factor out some common storage utilities out of storage.cpp ( #1515 )
...
factor out some common storage utilities out of storage.cpp
2017-01-11 00:42:10 -05:00
arvidn
41dbb47123
compact block_cache_reference by using storage_index_t instead of pointer. make sure storage object is kept alive by block_cache_references
2017-01-02 13:45:16 -05:00
arvidn
5ed0086b51
removed mmap_cache feature
2016-12-25 21:12:49 -08:00
Arvid Norberg
3f1084d63d
strengthened type safety in handling of piece and file indices ( #1409 )
...
strengthened type safety in handling of piece and file indices
2016-12-22 10:42:33 -05:00
Alden Torres
22b596945e
enable /W4 warnings for msvc
2016-12-13 19:36:14 -05:00
Alden Torres
d5c4cd7280
fixed sign-compare warnings and some refactor ( #1354 )
...
fixed sign-compare warnings and some refactor. make sequence_number backed by std::int64_t
2016-11-27 08:46:53 -05:00
Arvid Norberg
15ab8f387b
cleaning up of disk_interface and improving type safety ( #1353 )
...
cleaned up disk_interface and improved type safety. removed unused disk status code disk_check_aborted, and removed status code return value for async_hash
2016-11-26 01:51:47 -05:00
Alden Torres
c30027e4a1
more integral type conversion warning fixes, now only needs shorten-64-to-32 ( #1349 )
...
more integral type conversion warning fixes, now only needs shorten-64-to-32
2016-11-25 11:17:25 -05:00
arvidn
d5b76d2237
move block_cache_reference out of disk_io_job header
2016-11-20 10:34:42 -05:00
arvidn
14236993ea
collapse logic in piece_manager into storage directly
2016-11-13 02:53:16 -05:00
arvidn
3ff89f29d7
remove explicit ticking of storage from the torrent. instead make the disk_io_thread do it automatically
2016-11-06 10:26:10 -05:00
arvidn
2a999e1ea7
merge RC_1_1 into master
2016-11-03 23:58:35 -04:00