|
BitShares-Core
7.0.2
BitShares blockchain node software and command-line wallet software
|
#include <thread_d.hpp>
Classes | |
| struct | task_priority_less |
| struct | task_when_less |
Public Types | |
| using | context_pair = std::pair< thread_d *, fc::context * > |
Public Member Functions | |
| thread_d (fc::thread &s, thread_idle_notifier *n=0) | |
| ~thread_d () | |
| void | add_to_blocked (fc::context *c) |
| void | pt_push_back (fc::context *c) |
| fc::context::ptr | ready_pop_front () |
| void | add_context_to_ready_list (context *context_to_add, bool at_end=false) |
| void | enqueue (task_base *t) |
| void | move_newly_scheduled_tasks_to_task_pqueue () |
| task_base * | dequeue () |
| bool | process_canceled_tasks () |
| void | check_fiber_exceptions () |
| bool | start_next_fiber (bool reschedule=false) |
| void | run_next_task () |
| bool | has_next_task () |
| void | clear_free_list () |
| void | process_tasks () |
| time_point | check_for_timeouts () |
| void | unblock (fc::context *c) |
| void | yield_until (const time_point &tp, bool reschedule) |
| void | wait (const promise_base::ptr &p, const time_point &timeout) |
| void | cleanup_thread_specific_data () |
| void | notify_task_has_been_canceled () |
Static Public Member Functions | |
| static void | start_process_tasks (intptr_t my) |
Public Attributes | |
| fc::thread & | self |
| boost::thread * | boost_thread |
| stack_allocator | stack_alloc |
| boost::condition_variable | task_ready |
| boost::mutex | task_ready_mutex |
| boost::atomic< task_base * > | task_in_queue |
| std::vector< task_base * > | task_pqueue |
| uint64_t | next_posted_num |
| std::vector< task_base * > | task_sch_queue |
| std::vector< fc::context * > | sleep_pqueue |
| std::vector< fc::context * > | free_list |
| bool | done |
| std::string | name |
| fc::context * | current |
| fc::context * | pt_head |
| std::vector< fc::context * > | ready_heap |
| fc::context * | blocked |
| std::vector< detail::specific_data_info > | thread_specific_data |
| std::vector< detail::specific_data_info > | non_task_specific_data |
| unsigned | next_unused_task_storage_slot |
| thread_idle_notifier * | notifier |
| unsigned | non_preemptable_scope_count |
Definition at line 30 of file thread_d.hpp.
| using fc::thread_d::context_pair = std::pair<thread_d*, fc::context*> |
Definition at line 33 of file thread_d.hpp.
|
inline |
Definition at line 35 of file thread_d.hpp.
|
inline |
Definition at line 54 of file thread_d.hpp.
|
inline |
Definition at line 203 of file thread_d.hpp.
|
inline |
Definition at line 174 of file thread_d.hpp.
|
inline |
This should be before or after a context switch to detect quit/cancel operations and throw an exception.
Definition at line 358 of file thread_d.hpp.
|
inline |
Return system_clock::time_point::min() if tasks have timed out Retunn system_clock::time_point::max() if there are no scheduled tasks Return the time the next task needs to be run if there is anything scheduled.
Definition at line 650 of file thread_d.hpp.
|
inline |
Definition at line 782 of file thread_d.hpp.
|
inline |
Definition at line 551 of file thread_d.hpp.
|
inline |
Definition at line 318 of file thread_d.hpp.
|
inline |
Definition at line 247 of file thread_d.hpp.
|
inline |
Definition at line 542 of file thread_d.hpp.
|
inline |
Definition at line 287 of file thread_d.hpp.
|
inline |
Definition at line 793 of file thread_d.hpp.
|
inline |
Definition at line 330 of file thread_d.hpp.
|
inline |
Definition at line 558 of file thread_d.hpp.
|
inline |
Definition at line 180 of file thread_d.hpp.
|
inline |
Definition at line 195 of file thread_d.hpp.
|
inline |
Definition at line 529 of file thread_d.hpp.
|
inline |
Find the next available context and switch to it. If none are available then create a new context and have it wait for something to do.
Definition at line 381 of file thread_d.hpp.
|
inlinestatic |
Definition at line 509 of file thread_d.hpp.
|
inline |
Definition at line 692 of file thread_d.hpp.
|
inline |
Definition at line 742 of file thread_d.hpp.
|
inline |
Definition at line 704 of file thread_d.hpp.
| fc::context* fc::thread_d::blocked |
Definition at line 112 of file thread_d.hpp.
| boost::thread* fc::thread_d::boost_thread |
Definition at line 92 of file thread_d.hpp.
| fc::context* fc::thread_d::current |
Definition at line 106 of file thread_d.hpp.
| bool fc::thread_d::done |
Definition at line 104 of file thread_d.hpp.
| std::vector<fc::context*> fc::thread_d::free_list |
Definition at line 102 of file thread_d.hpp.
| std::string fc::thread_d::name |
Definition at line 105 of file thread_d.hpp.
| uint64_t fc::thread_d::next_posted_num |
Definition at line 99 of file thread_d.hpp.
| unsigned fc::thread_d::next_unused_task_storage_slot |
Definition at line 120 of file thread_d.hpp.
| unsigned fc::thread_d::non_preemptable_scope_count |
Definition at line 125 of file thread_d.hpp.
| std::vector<detail::specific_data_info> fc::thread_d::non_task_specific_data |
Definition at line 119 of file thread_d.hpp.
| thread_idle_notifier* fc::thread_d::notifier |
Definition at line 122 of file thread_d.hpp.
| fc::context* fc::thread_d::pt_head |
Definition at line 108 of file thread_d.hpp.
| std::vector<fc::context*> fc::thread_d::ready_heap |
Definition at line 110 of file thread_d.hpp.
| fc::thread& fc::thread_d::self |
Definition at line 91 of file thread_d.hpp.
| std::vector<fc::context*> fc::thread_d::sleep_pqueue |
Definition at line 101 of file thread_d.hpp.
| stack_allocator fc::thread_d::stack_alloc |
Definition at line 93 of file thread_d.hpp.
| boost::atomic<task_base*> fc::thread_d::task_in_queue |
Definition at line 97 of file thread_d.hpp.
| std::vector<task_base*> fc::thread_d::task_pqueue |
Definition at line 98 of file thread_d.hpp.
| boost::condition_variable fc::thread_d::task_ready |
Definition at line 94 of file thread_d.hpp.
| boost::mutex fc::thread_d::task_ready_mutex |
Definition at line 95 of file thread_d.hpp.
| std::vector<task_base*> fc::thread_d::task_sch_queue |
Definition at line 100 of file thread_d.hpp.
| std::vector<detail::specific_data_info> fc::thread_d::thread_specific_data |
Definition at line 115 of file thread_d.hpp.
1.8.17