diff --git a/repertory/librepertory/include/file_manager/events.hpp b/repertory/librepertory/include/file_manager/events.hpp index b079e2d4..2e526e40 100644 --- a/repertory/librepertory/include/file_manager/events.hpp +++ b/repertory/librepertory/include/file_manager/events.hpp @@ -32,23 +32,6 @@ E_SIMPLE2(download_begin, info, true, std::string, dest_path, dest, E_FROM_STRING ); -E_SIMPLE5(download_chunk_begin, debug, true, - std::string, api_path, ap, E_FROM_STRING, - std::string, dest_path, dest, E_FROM_STRING, - std::size_t, chunk, chunk, E_FROM_SIZE_T, - std::size_t, total, total, E_FROM_SIZE_T, - std::size_t, complete, complete, E_FROM_SIZE_T -); - -E_SIMPLE6(download_chunk_end, debug, true, - std::string, api_path, ap, E_FROM_STRING, - std::string, dest_path, dest, E_FROM_STRING, - std::size_t, chunk, chunk, E_FROM_SIZE_T, - std::size_t, total, total, E_FROM_SIZE_T, - std::size_t, complete, complete, E_FROM_SIZE_T, - api_error, result, result, E_FROM_API_FILE_ERROR -); - E_SIMPLE3(download_end, info, true, std::string, api_path, ap, E_FROM_STRING, std::string, dest_path, dest, E_FROM_STRING, diff --git a/repertory/librepertory/src/file_manager/direct_open_file.cpp b/repertory/librepertory/src/file_manager/direct_open_file.cpp index 46ae03c7..172909fb 100644 --- a/repertory/librepertory/src/file_manager/direct_open_file.cpp +++ b/repertory/librepertory/src/file_manager/direct_open_file.cpp @@ -149,17 +149,13 @@ auto direct_open_file::download_chunk(std::size_t chunk, bool skip_active) auto active_download{std::make_shared()}; active_downloads_[chunk] = active_download; ring_state_[chunk % ring_state_.size()] = false; - unlock_and_notify(); auto &buffer = ring_data_.at(chunk % ring_state_.size()); auto data_offset{chunk * chunk_size_}; auto data_size{ chunk == (total_chunks_ - 1U) ? last_chunk_size_ : chunk_size_, }; - - event_system::instance().raise( - fsi_.api_path, "direct", chunk, get_read_state().size(), - get_read_state().count()); + unlock_and_notify(); auto res{ provider_.read_file_bytes(fsi_.api_path, data_size, data_offset, buffer, @@ -173,12 +169,11 @@ auto direct_open_file::download_chunk(std::size_t chunk, bool skip_active) 100.0; event_system::instance().raise(fsi_.api_path, "direct", progress); + res = (chunk >= ring_begin_ && chunk <= ring_end_) + ? res + : api_error::invalid_ring_buffer_position; } - event_system::instance().raise( - fsi_.api_path, "direct", chunk, get_read_state().size(), - get_read_state().count(), res); - active_downloads_.erase(chunk); unlock_and_notify(); @@ -303,9 +298,9 @@ auto direct_open_file::read(std::size_t read_size, std::uint64_t read_offset, read_size), }; - auto &source_buffer = ring_data_.at(chunk % ring_state_.size()); - auto begin = std::next(source_buffer.begin(), - static_cast(read_offset)); + auto &buffer = ring_data_.at(chunk % ring_state_.size()); + auto begin = + std::next(buffer.begin(), static_cast(read_offset)); auto end = std::next(begin, static_cast(to_read)); data.insert(data.end(), begin, end); diff --git a/repertory/librepertory/src/file_manager/open_file.cpp b/repertory/librepertory/src/file_manager/open_file.cpp index 9436dcd7..f1effeef 100644 --- a/repertory/librepertory/src/file_manager/open_file.cpp +++ b/repertory/librepertory/src/file_manager/open_file.cpp @@ -300,9 +300,6 @@ void open_file::download_chunk(std::size_t chunk, bool skip_active, event_system::instance().raise(fsi_.api_path, fsi_.source_path); } - event_system::instance().raise( - fsi_.api_path, fsi_.source_path, chunk, read_state.size(), - read_state.count()); active_downloads_[chunk] = std::make_shared(); rw_lock.unlock(); @@ -319,9 +316,6 @@ void open_file::download_chunk(std::size_t chunk, bool skip_active, unique_recur_mutex_lock lock(rw_mtx_); auto active_download = active_downloads_.at(chunk); active_downloads_.erase(chunk); - event_system::instance().raise( - fsi_.api_path, fsi_.source_path, chunk, state.size(), state.count(), - get_api_error()); if (get_api_error() == api_error::success) { auto progress = (static_cast(state.count()) / static_cast(state.size())) * diff --git a/repertory/librepertory/src/file_manager/ring_buffer_open_file.cpp b/repertory/librepertory/src/file_manager/ring_buffer_open_file.cpp index b0ab0500..132a13a8 100644 --- a/repertory/librepertory/src/file_manager/ring_buffer_open_file.cpp +++ b/repertory/librepertory/src/file_manager/ring_buffer_open_file.cpp @@ -202,10 +202,6 @@ auto ring_buffer_open_file::download_chunk(std::size_t chunk, bool skip_active) chunk == (total_chunks_ - 1U) ? last_chunk_size_ : chunk_size_, }; - event_system::instance().raise( - fsi_.api_path, source_path_, chunk, get_read_state().size(), - get_read_state().count()); - auto res{ provider_.read_file_bytes(fsi_.api_path, data_size, data_offset, buffer, stop_requested_), @@ -232,10 +228,6 @@ auto ring_buffer_open_file::download_chunk(std::size_t chunk, bool skip_active) : api_error::invalid_ring_buffer_position; } - event_system::instance().raise( - fsi_.api_path, source_path_, chunk, get_read_state().size(), - get_read_state().count(), res); - active_downloads_.erase(chunk); unlock_and_notify();