#include </home/runner/work/OrcaSlicer/OrcaSlicer/src/slic3r/GUI/TaskManager.hpp>
Public Member Functions | |
| TaskManager (NetworkAgent *agent) | |
| void | set_agent (NetworkAgent *agent) |
| int | start_print (const std::vector< PrintParams > ¶ms, TaskSettings *settings=nullptr) |
| void | start () |
| void | stop () |
| std::map< int, TaskStateInfo * > | get_local_task_list () |
| std::map< std::string, TaskStateInfo > | get_task_list (int curr_page, int page_count, int &total) |
| TaskState | query_task_state (std::string dev_id) |
Static Public Member Functions | |
| static void | set_max_send_at_same_time (int count) |
Static Public Attributes | |
| static int | MaxSendingAtSameTime = 5 |
| static int | SendingInterval = 180 |
Private Member Functions | |
| int | schedule (TaskStateInfo *task) |
Private Attributes | |
| boost::thread | m_scedule_thread |
| std::vector< TaskGroup > | m_cache_map |
| std::mutex | m_map_mutex |
| std::vector< TaskStateInfo * > | m_scedule_list |
| std::vector< boost::thread * > | m_sending_thread_list |
| std::mutex | m_scedule_mutex |
| bool | m_started { false } |
| std::atomic< NetworkAgent * > | m_agent { nullptr } |
| std::chrono::system_clock::time_point | last_sent_timestamp |
| Slic3r::TaskManager::TaskManager | ( | NetworkAgent * | agent | ) |
| std::map< int, TaskStateInfo * > Slic3r::TaskManager::get_local_task_list | ( | ) |
References m_cache_map, m_map_mutex, Slic3r::TS_PENDING, Slic3r::TS_SEND_CANCELED, Slic3r::TS_SEND_COMPLETED, Slic3r::TS_SEND_FAILED, and Slic3r::TS_SENDING.
| std::map< std::string, TaskStateInfo > Slic3r::TaskManager::get_task_list | ( | int | curr_page, |
| int | page_count, | ||
| int & | total ) |
References Slic3r::PrintParams::dev_id, Slic3r::TaskStateInfo::end_time, Slic3r::TaskStateInfo::get_job_id(), Slic3r::NetworkAgent::get_user_tasks(), Slic3r::TaskQueryParams::limit, m_agent, Slic3r::TaskQueryParams::offset, Slic3r::TaskStateInfo::params(), Slic3r::parse_task_status(), Slic3r::TaskStateInfo::profile_id, Slic3r::TaskStateInfo::set_device_name(), Slic3r::TaskStateInfo::set_job_id(), Slic3r::TaskStateInfo::set_state(), Slic3r::TaskStateInfo::set_task_name(), Slic3r::TaskStateInfo::start_time, Slic3r::TaskStateInfo::thumbnail_url, and Slic3r::trace().
| TaskState Slic3r::TaskManager::query_task_state | ( | std::string | dev_id | ) |
References m_cache_map, m_map_mutex, Slic3r::TS_IDLE, Slic3r::TS_PENDING, and Slic3r::TS_SENDING.
|
private |
References Slic3r::TaskStateInfo::cancel_fn, Slic3r::LifecycleEventContext::code, Slic3r::create_thread(), Slic3r::PrintParams::dev_id, Slic3r::LifecycleEventContext::device_id, Slic3r::Error, Slic3r::fire_lifecycle_event(), Slic3r::TaskStateInfo::get_params(), Slic3r::TaskStateInfo::is_canceled(), Slic3r::LifecycleEventContext::job_id, last_sent_timestamp, m_agent, m_scedule_list, m_scedule_mutex, m_sending_thread_list, Slic3r::LifecycleEventContext::msg, Slic3r::LifecycleEventContext::name, Slic3r::Ok, Slic3r::TaskStateInfo::params(), Slic3r::PrintJobFinished, Slic3r::PrintJobStarted, Slic3r::PrintParams::project_name, Slic3r::TaskStateInfo::set_sent_time(), Slic3r::TaskStateInfo::set_state(), Slic3r::LifecycleEventContext::source, Slic3r::NetworkAgent::start_print(), Slic3r::start_print_test(), Slic3r::TaskStateInfo::state(), Slic3r::TaskStateInfo::task_info_id, Slic3r::trace(), Slic3r::TS_PENDING, Slic3r::TS_SEND_CANCELED, Slic3r::TS_SEND_COMPLETED, Slic3r::TS_SEND_FAILED, Slic3r::TS_SENDING, Slic3r::TaskStateInfo::update_status_fn, Slic3r::TaskStateInfo::wait_fn, and Slic3r::Warn.
Referenced by start().
| void Slic3r::TaskManager::set_agent | ( | NetworkAgent * | agent | ) |
|
static |
References count, and MaxSendingAtSameTime.
| void Slic3r::TaskManager::start | ( | ) |
References Slic3r::create_thread(), last_sent_timestamp, m_cache_map, m_map_mutex, m_scedule_list, m_scedule_mutex, m_scedule_thread, m_started, MaxSendingAtSameTime, schedule(), and Slic3r::trace().
| int Slic3r::TaskManager::start_print | ( | const std::vector< PrintParams > & | params, |
| TaskSettings * | settings = nullptr ) |
References Slic3r::TaskGroup::append(), m_cache_map, m_map_mutex, Slic3r::TaskSettings::max_sending_at_same_time, MaxSendingAtSameTime, Slic3r::TaskSettings::sending_interval, SendingInterval, and Slic3r::TaskGroup::tasks.
| void Slic3r::TaskManager::stop | ( | ) |
References m_scedule_thread, and m_started.
|
private |
Referenced by schedule(), and start().
|
private |
Referenced by TaskManager(), get_task_list(), schedule(), and set_agent().
|
private |
Referenced by get_local_task_list(), query_task_state(), start(), and start_print().
|
private |
Referenced by get_local_task_list(), query_task_state(), start(), and start_print().
|
private |
Referenced by schedule(), and start().
|
private |
Referenced by schedule(), and start().
|
private |
Referenced by schedule().
|
private |
|
static |
Referenced by set_max_send_at_same_time(), start(), start_print(), and Slic3r::wxDEFINE_EVENT().
|
static |
Referenced by Slic3r::TaskGroup::need_schedule(), start_print(), and Slic3r::wxDEFINE_EVENT().