Loading src/io/task-info.cpp +9 −1 Original line number Diff line number Diff line Loading @@ -34,7 +34,9 @@ namespace norns { namespace io { task_info::task_info(const iotask_id tid, const iotask_type type, task_info::task_info(const iotask_id tid, const iotask_type type, const bool is_remote, const auth::credentials& auth, const backend_ptr src_backend, const resource_info_ptr src_rinfo, Loading @@ -43,6 +45,7 @@ task_info::task_info(const iotask_id tid, const iotask_type type, const boost::any& ctx) : m_id(tid), m_type(type), m_is_remote(is_remote), m_auth(auth), m_src_backend(src_backend), m_src_rinfo(src_rinfo), Loading Loading @@ -81,6 +84,11 @@ task_info::type() const { return m_type; } bool task_info::is_remote() const { return m_is_remote; } auth::credentials task_info::auth() const { return m_auth; Loading src/io/task-info.hpp +55 −19 Original line number Diff line number Diff line Loading @@ -48,6 +48,7 @@ struct task_info { task_info(const iotask_id tid, const iotask_type type, const bool is_remote, const auth::credentials& creds, const backend_ptr src_backend, const resource_info_ptr src_rinfo, Loading @@ -57,20 +58,44 @@ struct task_info { ~task_info(); iotask_id id() const; iotask_type type() const; auth::credentials auth() const ; backend_ptr src_backend() const; resource_info_ptr src_rinfo() const; backend_ptr dst_backend() const; resource_info_ptr dst_rinfo() const; iotask_id id() const; boost::any context() const; void set_context(const boost::any& ctx); iotask_type type() const; task_status status() const; void update_status(const task_status st); void update_status(const task_status st, const urd_error ec, bool is_remote() const; auth::credentials auth() const ; backend_ptr src_backend() const; resource_info_ptr src_rinfo() const; backend_ptr dst_backend() const; resource_info_ptr dst_rinfo() const; boost::any context() const; void set_context(const boost::any& ctx); task_status status() const; void update_status(const task_status st); void update_status(const task_status st, const urd_error ec, const std::error_code& sc); urd_error Loading @@ -79,13 +104,23 @@ struct task_info { std::error_code sys_error() const; std::size_t sent_bytes() const; std::size_t total_bytes() const; double bandwidth() const; void update_bandwidth(std::size_t bytes, double usecs); void record_transfer(std::size_t bytes, double usecs); std::size_t sent_bytes() const; std::size_t total_bytes() const; double bandwidth() const; void update_bandwidth(std::size_t bytes, double usecs); void record_transfer(std::size_t bytes, double usecs); task_stats stats() const; task_stats stats() const; boost::shared_lock<boost::shared_mutex> lock_shared() const; Loading @@ -98,6 +133,7 @@ struct task_info { // task id and type const iotask_id m_id; const iotask_type m_type; const bool m_is_remote; // user credentials const auth::credentials m_auth; Loading src/io/task-manager.cpp +9 −4 Original line number Diff line number Diff line Loading @@ -169,7 +169,7 @@ task_manager::create_task(iotask_type type, auto it = m_task_info.end(); std::tie(it, std::ignore) = m_task_info.emplace(tid, std::make_shared<task_info>(tid, type, auth, std::make_shared<task_info>(tid, type, false, auth, src_backend, src_rinfo, dst_backend, dst_rinfo)); return it->second; Loading Loading @@ -326,7 +326,7 @@ task_manager::create_local_initiated_task(iotask_type type, auto it = m_task_info.end(); std::tie(it, std::ignore) = m_task_info.emplace(tid, std::make_shared<task_info>(tid, type, auth, std::make_shared<task_info>(tid, type, false, auth, src_backend, src_rinfo, dst_backend, dst_rinfo)); return it->second; Loading Loading @@ -431,15 +431,20 @@ task_manager::create_remote_initiated_task(iotask_type task_type, auto it = m_task_info.end(); std::tie(it, std::ignore) = m_task_info.emplace(tid, std::make_shared<task_info>(tid, task_type, auth, std::make_shared<task_info>(tid, task_type, true, auth, src_backend, src_rinfo, dst_backend, dst_rinfo, ctx)); return it->second; }(); //auto tx_ptr = // m_transferor_registry.get(src_rinfo->type(), dst_rinfo->type()); // XXX for a remote-initiated task the order of the types // is swapped auto tx_ptr = m_transferor_registry.get(src_rinfo->type(), dst_rinfo->type()); m_transferor_registry.get(dst_rinfo->type(), src_rinfo->type()); if(!tx_ptr) { return std::make_tuple(urd_error::not_supported, boost::none); Loading src/io/task-remote-transfer.hpp +7 −1 Original line number Diff line number Diff line Loading @@ -80,7 +80,13 @@ task<iotask_type::remote_transfer>::operator()() { return; } if(m_task_info->is_remote()) { ec = m_transferor->accept_transfer(auth, m_task_info, src, dst); } else { ec = m_transferor->transfer(auth, m_task_info, src, dst); } if(ec) { log_error("Transfer failed"); Loading src/io/transferors/local-path-to-local-path.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -243,6 +243,7 @@ local_path_to_local_path_transferor::accept_transfer( (void) src; (void) dst; LOGGER_ERROR("This function should never be called for this transfer type"); return std::make_error_code(static_cast<std::errc>(0)); } Loading Loading
src/io/task-info.cpp +9 −1 Original line number Diff line number Diff line Loading @@ -34,7 +34,9 @@ namespace norns { namespace io { task_info::task_info(const iotask_id tid, const iotask_type type, task_info::task_info(const iotask_id tid, const iotask_type type, const bool is_remote, const auth::credentials& auth, const backend_ptr src_backend, const resource_info_ptr src_rinfo, Loading @@ -43,6 +45,7 @@ task_info::task_info(const iotask_id tid, const iotask_type type, const boost::any& ctx) : m_id(tid), m_type(type), m_is_remote(is_remote), m_auth(auth), m_src_backend(src_backend), m_src_rinfo(src_rinfo), Loading Loading @@ -81,6 +84,11 @@ task_info::type() const { return m_type; } bool task_info::is_remote() const { return m_is_remote; } auth::credentials task_info::auth() const { return m_auth; Loading
src/io/task-info.hpp +55 −19 Original line number Diff line number Diff line Loading @@ -48,6 +48,7 @@ struct task_info { task_info(const iotask_id tid, const iotask_type type, const bool is_remote, const auth::credentials& creds, const backend_ptr src_backend, const resource_info_ptr src_rinfo, Loading @@ -57,20 +58,44 @@ struct task_info { ~task_info(); iotask_id id() const; iotask_type type() const; auth::credentials auth() const ; backend_ptr src_backend() const; resource_info_ptr src_rinfo() const; backend_ptr dst_backend() const; resource_info_ptr dst_rinfo() const; iotask_id id() const; boost::any context() const; void set_context(const boost::any& ctx); iotask_type type() const; task_status status() const; void update_status(const task_status st); void update_status(const task_status st, const urd_error ec, bool is_remote() const; auth::credentials auth() const ; backend_ptr src_backend() const; resource_info_ptr src_rinfo() const; backend_ptr dst_backend() const; resource_info_ptr dst_rinfo() const; boost::any context() const; void set_context(const boost::any& ctx); task_status status() const; void update_status(const task_status st); void update_status(const task_status st, const urd_error ec, const std::error_code& sc); urd_error Loading @@ -79,13 +104,23 @@ struct task_info { std::error_code sys_error() const; std::size_t sent_bytes() const; std::size_t total_bytes() const; double bandwidth() const; void update_bandwidth(std::size_t bytes, double usecs); void record_transfer(std::size_t bytes, double usecs); std::size_t sent_bytes() const; std::size_t total_bytes() const; double bandwidth() const; void update_bandwidth(std::size_t bytes, double usecs); void record_transfer(std::size_t bytes, double usecs); task_stats stats() const; task_stats stats() const; boost::shared_lock<boost::shared_mutex> lock_shared() const; Loading @@ -98,6 +133,7 @@ struct task_info { // task id and type const iotask_id m_id; const iotask_type m_type; const bool m_is_remote; // user credentials const auth::credentials m_auth; Loading
src/io/task-manager.cpp +9 −4 Original line number Diff line number Diff line Loading @@ -169,7 +169,7 @@ task_manager::create_task(iotask_type type, auto it = m_task_info.end(); std::tie(it, std::ignore) = m_task_info.emplace(tid, std::make_shared<task_info>(tid, type, auth, std::make_shared<task_info>(tid, type, false, auth, src_backend, src_rinfo, dst_backend, dst_rinfo)); return it->second; Loading Loading @@ -326,7 +326,7 @@ task_manager::create_local_initiated_task(iotask_type type, auto it = m_task_info.end(); std::tie(it, std::ignore) = m_task_info.emplace(tid, std::make_shared<task_info>(tid, type, auth, std::make_shared<task_info>(tid, type, false, auth, src_backend, src_rinfo, dst_backend, dst_rinfo)); return it->second; Loading Loading @@ -431,15 +431,20 @@ task_manager::create_remote_initiated_task(iotask_type task_type, auto it = m_task_info.end(); std::tie(it, std::ignore) = m_task_info.emplace(tid, std::make_shared<task_info>(tid, task_type, auth, std::make_shared<task_info>(tid, task_type, true, auth, src_backend, src_rinfo, dst_backend, dst_rinfo, ctx)); return it->second; }(); //auto tx_ptr = // m_transferor_registry.get(src_rinfo->type(), dst_rinfo->type()); // XXX for a remote-initiated task the order of the types // is swapped auto tx_ptr = m_transferor_registry.get(src_rinfo->type(), dst_rinfo->type()); m_transferor_registry.get(dst_rinfo->type(), src_rinfo->type()); if(!tx_ptr) { return std::make_tuple(urd_error::not_supported, boost::none); Loading
src/io/task-remote-transfer.hpp +7 −1 Original line number Diff line number Diff line Loading @@ -80,7 +80,13 @@ task<iotask_type::remote_transfer>::operator()() { return; } if(m_task_info->is_remote()) { ec = m_transferor->accept_transfer(auth, m_task_info, src, dst); } else { ec = m_transferor->transfer(auth, m_task_info, src, dst); } if(ec) { log_error("Transfer failed"); Loading
src/io/transferors/local-path-to-local-path.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -243,6 +243,7 @@ local_path_to_local_path_transferor::accept_transfer( (void) src; (void) dst; LOGGER_ERROR("This function should never be called for this transfer type"); return std::make_error_code(static_cast<std::errc>(0)); } Loading