![]() |
GRSISort "v4.0.0.5"
An extension of the ROOT analysis Framework
|
![]() |
This loop builds events (vectors of fragments) based on timestamps and a build windows.
Definition at line 28 of file TEventBuildingLoop.h.
Public Types | |
| enum class | EBuildMode : std::uint8_t { kDefault , kTime , kTimestamp , kTriggerId , kSkip } |
Public Member Functions | |
| TEventBuildingLoop (const TEventBuildingLoop &)=delete | |
| TEventBuildingLoop (TEventBuildingLoop &&) noexcept=delete | |
| ~TEventBuildingLoop () | |
| void | ClearQueue () override |
| std::string | EndStatus () override |
| uint64_t | GetBuildWindow () const |
| size_t | GetItemsCurrent () override |
| size_t | GetItemsPopped () override |
| size_t | GetItemsPushed () override |
| size_t | GetRate () override |
| unsigned int | GetSortDepth () const |
| std::shared_ptr< ThreadsafeQueue< std::shared_ptr< const TFragment > > > & | InputQueue () |
| bool | IsPaused () |
| bool | IsRunning () |
| bool | Iteration () override |
| void | Join () |
| std::string | Name () const |
| virtual void | OnEnd () |
| TEventBuildingLoop & | operator= (const TEventBuildingLoop &)=delete |
| TEventBuildingLoop & | operator= (TEventBuildingLoop &&) noexcept=delete |
| std::shared_ptr< ThreadsafeQueue< std::shared_ptr< const TFragment > > > & | OutOfOrderQueue () |
| std::shared_ptr< ThreadsafeQueue< std::vector< std::shared_ptr< const TFragment > > > > & | OutputQueue () |
| void | Pause () |
| virtual std::string | Progress () |
| void | Resume () |
| void | SetBuildWindow (uint64_t val) |
| void | SetSortDepth (unsigned int val) |
| virtual std::string | Status () |
| void | Stop () |
Static Public Member Functions | |
| static std::string | AllThreadHeader () |
| static std::string | AllThreadProgress () |
| static std::string | AllThreadStatus () |
| static bool | AnyThreadRunning () |
| static std::string | AnyThreadStatus () |
| static void | ClearAllQueues () |
| static size_t | ColumnWidth () |
| static void | ColumnWidth (size_t val) |
| static StoppableThread * | Get (const std::string &name) |
| static TEventBuildingLoop * | Get (std::string name="", EBuildMode mode=EBuildMode::kTimestamp, uint64_t buildWindow=2000) |
| static std::vector< StoppableThread * > | GetAll () |
| static int | GetNThreads () |
| static void | join_status_thread () |
| static void | PauseAll () |
| static void | Print () |
| static void | ResumeAll () |
| static void | SendStop () |
| static void | start_status_thread () |
| static void | status_out () |
| static void | status_out_loop () |
| static size_t | StatusWidth () |
| static void | StatusWidth (size_t val) |
| static void | stop_status_thread () |
| static void | StopAll () |
Protected Member Functions | |
| void | IncrementItemsPopped () |
| std::atomic_long & | InputSize () |
| void | InputSize (int64_t val) |
| std::atomic_size_t & | ItemsPopped () |
| void | ItemsPopped (size_t val) |
Private Member Functions | |
| TEventBuildingLoop (std::string name, EBuildMode mode, uint64_t buildWindow) | |
| bool | CheckBuildCondition (const std::shared_ptr< const TFragment > &) |
| bool | CheckTimeCondition (const std::shared_ptr< const TFragment > &) |
| bool | CheckTimestampCondition (const std::shared_ptr< const TFragment > &) |
| bool | CheckTriggerIdCondition (const std::shared_ptr< const TFragment > &) |
| void | Loop () |
Private Attributes | |
| EBuildMode | fBuildMode |
| uint64_t | fBuildWindow |
| std::atomic_bool | fForceStop {false} |
| std::shared_ptr< ThreadsafeQueue< std::shared_ptr< const TFragment > > > | fInputQueue |
| std::atomic_long | fInputSize {0} |
| std::atomic_size_t | fItemsPopped {0} |
| std::string | fName |
| std::vector< std::shared_ptr< const TFragment > > | fNextEvent |
| std::multiset< std::shared_ptr< const TFragment >, std::function< bool(std::shared_ptr< const TFragment >, std::shared_ptr< const TFragment >)> > | fOrdered |
| std::shared_ptr< ThreadsafeQueue< std::shared_ptr< const TFragment > > > | fOutOfOrderQueue |
| std::shared_ptr< ThreadsafeQueue< std::vector< std::shared_ptr< const TFragment > > > > | fOutputQueue |
| std::atomic_bool | fPaused {false} |
| std::condition_variable | fPausedWait |
| std::mutex | fPauseMutex |
| bool | fPreviousSortingDepthError |
| std::atomic_bool | fRunning {false} |
| bool | fSkipInputSort |
| unsigned int | fSortingDepth |
| std::thread | fThread |
Static Private Attributes | |
| static size_t | fColumnWidth = 20 |
| static std::thread | fStatusThread |
| static bool | fStatusThreadOn = false |
| static size_t | fStatusWidth = 80 |
| static std::map< std::string, StoppableThread * > | fThreadMap |
Inheritance diagram for TEventBuildingLoop:
Collaboration diagram for TEventBuildingLoop:
|
strong |
| Enumerator | |
|---|---|
| kDefault | |
| kTime | |
| kTimestamp | |
| kTriggerId | |
| kSkip | |
Definition at line 30 of file TEventBuildingLoop.h.
|
delete |
Referenced by Get().
|
deletenoexcept |
|
default |
|
private |
Definition at line 22 of file TEventBuildingLoop.cxx.
References DYELLOW, fBuildMode, fBuildWindow, fOrdered, fSkipInputSort, kDefault, kSkip, kTime, kTimestamp, kTriggerId, and RESET_COLOR.
|
staticinherited |
Definition at line 73 of file StoppableThread.cxx.
References StoppableThread::fColumnWidth, StoppableThread::fStatusWidth, and StoppableThread::fThreadMap.
Referenced by TGRSIint::ApplyOptions().
|
staticinherited |
Definition at line 59 of file StoppableThread.cxx.
References StoppableThread::fColumnWidth, StoppableThread::fStatusWidth, and StoppableThread::fThreadMap.
Referenced by TGRSIint::LoopUntilDone().
|
staticinherited |
Definition at line 83 of file StoppableThread.cxx.
References StoppableThread::fColumnWidth, StoppableThread::fStatusWidth, and StoppableThread::fThreadMap.
Referenced by TGRSIint::LoopUntilDone().
|
staticinherited |
Definition at line 37 of file StoppableThread.cxx.
References StoppableThread::fThreadMap.
Referenced by TChannel::GetChannel(), TGRSIint::LoopUntilDone(), and TGRSIInterruptHandler::Notify().
|
staticinherited |
Definition at line 47 of file StoppableThread.cxx.
References StoppableThread::fThreadMap.
|
private |
Definition at line 131 of file TEventBuildingLoop.cxx.
References CheckTimeCondition(), CheckTimestampCondition(), CheckTriggerIdCondition(), fBuildMode, fNextEvent, fOutputQueue, kSkip, kTime, kTimestamp, and kTriggerId.
Referenced by Iteration().
|
private |
Definition at line 148 of file TEventBuildingLoop.cxx.
References TSortingDiagnostics::AddTime(), TGRSIOptions::AnalysisOptions(), fBuildWindow, fNextEvent, fOutOfOrderQueue, fOutputQueue, fPreviousSortingDepthError, fSortingDepth, TGRSIOptions::Get(), TSingleton< TSortingDiagnostics >::Get(), TSortingDiagnostics::OutOfTimeOrder(), and TGRSIOptions::SortDepth().
Referenced by CheckBuildCondition().
|
private |
Definition at line 184 of file TEventBuildingLoop.cxx.
References TSortingDiagnostics::AddTimeStamp(), TGRSIOptions::AnalysisOptions(), fBuildWindow, fNextEvent, fOutOfOrderQueue, fOutputQueue, fPreviousSortingDepthError, fSortingDepth, TGRSIOptions::Get(), TSingleton< TSortingDiagnostics >::Get(), TSortingDiagnostics::OutOfOrder(), and TGRSIOptions::SortDepth().
Referenced by CheckBuildCondition().
|
private |
Definition at line 219 of file TEventBuildingLoop.cxx.
References TSortingDiagnostics::AddTimeStamp(), fNextEvent, fOutOfOrderQueue, fOutputQueue, fPreviousSortingDepthError, fSortingDepth, TGRSIOptions::Get(), TSingleton< TSortingDiagnostics >::Get(), TSortingDiagnostics::OutOfOrder(), and TGRSIOptions::SortDepth().
Referenced by CheckBuildCondition().
|
staticinherited |
Definition at line 166 of file StoppableThread.cxx.
References StoppableThread::fThreadMap.
Referenced by TGRSIInterruptHandler::Notify().
|
overridevirtual |
Reimplemented from StoppableThread.
Definition at line 64 of file TEventBuildingLoop.cxx.
References fInputQueue, and fOutputQueue.
|
inlinestaticinherited |
Definition at line 81 of file StoppableThread.h.
References StoppableThread::fColumnWidth.
Referenced by TGRSIint::SetupPipeline().
|
inlinestaticinherited |
Definition at line 79 of file StoppableThread.h.
References StoppableThread::fColumnWidth.
|
overridevirtual |
Reimplemented from StoppableThread.
Definition at line 254 of file TEventBuildingLoop.cxx.
References fInputQueue, and StoppableThread::ItemsPopped().
|
staticinherited |
Definition at line 173 of file StoppableThread.cxx.
References StoppableThread::fThreadMap.
Referenced by TAnalysisHistLoop::Get(), TAnalysisWriteLoop::Get(), TDataLoop::Get(), TDetBuildingLoop::Get(), Get(), TFragDiagnosticsLoop::Get(), TFragHistLoop::Get(), TFragmentChainLoop::Get(), TFragWriteLoop::Get(), TTerminalLoop< T >::Get(), and TUnpackingLoop::Get().
|
static |
Definition at line 9 of file TEventBuildingLoop.cxx.
References TEventBuildingLoop(), and StoppableThread::Get().
Referenced by TGRSIint::SetupPipeline().
|
staticinherited |
Definition at line 315 of file StoppableThread.cxx.
References StoppableThread::fThreadMap.
|
inline |
Definition at line 65 of file TEventBuildingLoop.h.
References fBuildWindow.
|
inlineoverridevirtual |
Implements StoppableThread.
Definition at line 61 of file TEventBuildingLoop.h.
References fOutputQueue.
|
inlineoverridevirtual |
Implements StoppableThread.
Definition at line 60 of file TEventBuildingLoop.h.
References fOutputQueue.
|
inlineoverridevirtual |
Implements StoppableThread.
Definition at line 59 of file TEventBuildingLoop.h.
References fOutputQueue.
|
staticinherited |
Definition at line 21 of file StoppableThread.cxx.
References StoppableThread::fThreadMap.
Referenced by StoppableThread::Print().
|
inlineoverridevirtual |
Implements StoppableThread.
Definition at line 62 of file TEventBuildingLoop.h.
|
inline |
Definition at line 68 of file TEventBuildingLoop.h.
References fSortingDepth.
|
inlineprotectedinherited |
Definition at line 96 of file StoppableThread.h.
References StoppableThread::fItemsPopped.
Referenced by TAnalysisHistLoop::Iteration(), TAnalysisWriteLoop::Iteration(), TDetBuildingLoop::Iteration(), Iteration(), TFragDiagnosticsLoop::Iteration(), TFragHistLoop::Iteration(), TFragmentChainLoop::Iteration(), TFragWriteLoop::Iteration(), and TUnpackingLoop::Iteration().
|
inline |
Definition at line 44 of file TEventBuildingLoop.h.
References fInputQueue.
Referenced by TGRSIint::SetupPipeline().
|
inlineprotectedinherited |
Definition at line 95 of file StoppableThread.h.
References StoppableThread::fInputSize.
Referenced by TAnalysisWriteLoop::EndStatus(), TFragDiagnosticsLoop::EndStatus(), TFragWriteLoop::EndStatus(), TAnalysisHistLoop::Iteration(), TAnalysisWriteLoop::Iteration(), TDataLoop::Iteration(), TDetBuildingLoop::Iteration(), Iteration(), TFragDiagnosticsLoop::Iteration(), TFragHistLoop::Iteration(), TFragmentChainLoop::Iteration(), TFragWriteLoop::Iteration(), and TUnpackingLoop::Iteration().
|
inlineprotectedinherited |
Definition at line 93 of file StoppableThread.h.
References StoppableThread::fInputSize.
|
inherited |
Definition at line 224 of file StoppableThread.cxx.
References StoppableThread::fPaused.
|
inherited |
Definition at line 219 of file StoppableThread.cxx.
References StoppableThread::fRunning.
Referenced by StoppableThread::status_out().
|
inlineprotectedinherited |
Definition at line 94 of file StoppableThread.h.
References StoppableThread::fItemsPopped.
Referenced by TAnalysisWriteLoop::EndStatus(), EndStatus(), TFragDiagnosticsLoop::EndStatus(), TFragWriteLoop::EndStatus(), TFragDiagnosticsLoop::GetItemsPopped(), TFragmentChainLoop::GetItemsPopped(), TFragWriteLoop::GetItemsPopped(), TAnalysisWriteLoop::GetItemsPushed(), TFragDiagnosticsLoop::GetItemsPushed(), TFragmentChainLoop::GetItemsPushed(), TFragWriteLoop::GetItemsPushed(), TDataLoop::Iteration(), TFragmentChainLoop::Iteration(), TUnpackingLoop::Iteration(), and TFragmentChainLoop::Restart().
|
inlineprotectedinherited |
Definition at line 92 of file StoppableThread.h.
References StoppableThread::fItemsPopped.
|
overridevirtual |
Implements StoppableThread.
Definition at line 77 of file TEventBuildingLoop.cxx.
References CheckBuildCondition(), fInputQueue, fNextEvent, fOrdered, fOutputQueue, fSkipInputSort, fSortingDepth, StoppableThread::IncrementItemsPopped(), and StoppableThread::InputSize().
|
inherited |
Definition at line 229 of file StoppableThread.cxx.
References StoppableThread::EndStatus(), and StoppableThread::fThread.
Referenced by StoppableThread::StopAll().
|
staticinherited |
Definition at line 280 of file StoppableThread.cxx.
References StoppableThread::fStatusThread, and StoppableThread::stop_status_thread().
|
privateinherited |
Definition at line 237 of file StoppableThread.cxx.
References StoppableThread::fPaused, StoppableThread::fPausedWait, StoppableThread::fPauseMutex, StoppableThread::fRunning, StoppableThread::Iteration(), and StoppableThread::OnEnd().
Referenced by StoppableThread::StoppableThread().
|
inlineinherited |
Definition at line 62 of file StoppableThread.h.
References StoppableThread::fName.
Referenced by TAnalysisWriteLoop::AddBranch(), TFragDiagnosticsLoop::CreateHistograms(), TAnalysisWriteLoop::EndStatus(), TFragDiagnosticsLoop::EndStatus(), TFragWriteLoop::EndStatus(), TUnpackingLoop::EndStatus(), TFragDiagnosticsLoop::Process(), StoppableThread::status_out(), and TFragDiagnosticsLoop::Write().
|
inlinevirtualinherited |
Reimplemented in TAnalysisWriteLoop, TDataLoop, and TFragmentChainLoop.
Definition at line 58 of file StoppableThread.h.
Referenced by StoppableThread::Loop().
|
delete |
|
deletenoexcept |
|
inline |
Definition at line 52 of file TEventBuildingLoop.h.
References fOutOfOrderQueue.
Referenced by TGRSIint::SetupPipeline().
|
inline |
Definition at line 48 of file TEventBuildingLoop.h.
References fOutputQueue.
Referenced by TGRSIint::SetupPipeline().
|
inherited |
Definition at line 202 of file StoppableThread.cxx.
References StoppableThread::fPaused, and StoppableThread::fRunning.
|
staticinherited |
Definition at line 97 of file StoppableThread.cxx.
References StoppableThread::fThreadMap.
|
staticinherited |
Definition at line 254 of file StoppableThread.cxx.
References StoppableThread::fColumnWidth, StoppableThread::fStatusWidth, StoppableThread::fThreadMap, StoppableThread::GetNThreads(), and hex().
|
virtualinherited |
Definition at line 119 of file StoppableThread.cxx.
References StoppableThread::fColumnWidth, StoppableThread::fInputSize, and StoppableThread::fItemsPopped.
|
inherited |
Definition at line 193 of file StoppableThread.cxx.
References StoppableThread::fPaused, StoppableThread::fPausedWait, StoppableThread::fPauseMutex, and StoppableThread::fRunning.
|
staticinherited |
Definition at line 104 of file StoppableThread.cxx.
References StoppableThread::fThreadMap.
Referenced by TGRSIint::SetupPipeline().
|
staticinherited |
Definition at line 135 of file StoppableThread.cxx.
References StoppableThread::fThreadMap.
Referenced by StoppableThread::StopAll(), and TGRSIint::Terminate().
|
inline |
Definition at line 64 of file TEventBuildingLoop.h.
References fBuildWindow.
|
inline |
Definition at line 67 of file TEventBuildingLoop.h.
References fSortingDepth.
Referenced by TGRSIint::SetupPipeline().
|
staticinherited |
Definition at line 265 of file StoppableThread.cxx.
References StoppableThread::fStatusThread, StoppableThread::fStatusThreadOn, and StoppableThread::status_out_loop().
Referenced by StoppableThread::StoppableThread().
|
virtualinherited |
Definition at line 111 of file StoppableThread.cxx.
References StoppableThread::fColumnWidth, StoppableThread::fInputSize, and StoppableThread::fItemsPopped.
|
staticinherited |
Definition at line 297 of file StoppableThread.cxx.
References StoppableThread::fThreadMap, StoppableThread::GetItemsCurrent(), StoppableThread::GetItemsPopped(), StoppableThread::GetItemsPushed(), StoppableThread::GetRate(), StoppableThread::IsRunning(), and StoppableThread::Name().
Referenced by StoppableThread::status_out_loop(), and StoppableThread::StopAll().
|
staticinherited |
Definition at line 286 of file StoppableThread.cxx.
References StoppableThread::fStatusThreadOn, and StoppableThread::status_out().
Referenced by StoppableThread::start_status_thread().
|
inlinestaticinherited |
Definition at line 82 of file StoppableThread.h.
References StoppableThread::fStatusWidth.
Referenced by TGRSIint::SetupPipeline().
|
inlinestaticinherited |
Definition at line 80 of file StoppableThread.h.
References StoppableThread::fStatusWidth.
|
inherited |
Definition at line 209 of file StoppableThread.cxx.
References StoppableThread::EndStatus(), StoppableThread::fPaused, StoppableThread::fPausedWait, StoppableThread::fPauseMutex, and StoppableThread::fRunning.
|
staticinherited |
Definition at line 273 of file StoppableThread.cxx.
References StoppableThread::fStatusThreadOn.
Referenced by StoppableThread::join_status_thread().
|
staticinherited |
Definition at line 147 of file StoppableThread.cxx.
References StoppableThread::fThreadMap, StoppableThread::Join(), StoppableThread::SendStop(), and StoppableThread::status_out().
Referenced by TGRSIint::Terminate().
|
private |
Definition at line 86 of file TEventBuildingLoop.h.
Referenced by TEventBuildingLoop(), and CheckBuildCondition().
|
private |
Definition at line 88 of file TEventBuildingLoop.h.
Referenced by TEventBuildingLoop(), CheckTimeCondition(), CheckTimestampCondition(), GetBuildWindow(), and SetBuildWindow().
|
staticprivateinherited |
Definition at line 107 of file StoppableThread.h.
Referenced by StoppableThread::AllThreadHeader(), StoppableThread::AllThreadProgress(), StoppableThread::AllThreadStatus(), StoppableThread::ColumnWidth(), StoppableThread::ColumnWidth(), StoppableThread::Print(), StoppableThread::Progress(), and StoppableThread::Status().
|
privateinherited |
Definition at line 119 of file StoppableThread.h.
|
private |
Definition at line 81 of file TEventBuildingLoop.h.
Referenced by ClearQueue(), EndStatus(), InputQueue(), and Iteration().
|
privateinherited |
number of items in the input (queue), only updated within Iteration(), so not always fully up-to-date (signed to hold error from queue::pop)
Definition at line 101 of file StoppableThread.h.
Referenced by StoppableThread::InputSize(), StoppableThread::InputSize(), StoppableThread::Progress(), and StoppableThread::Status().
|
privateinherited |
number of items popped from input queue
Definition at line 100 of file StoppableThread.h.
Referenced by StoppableThread::IncrementItemsPopped(), StoppableThread::ItemsPopped(), StoppableThread::ItemsPopped(), StoppableThread::Progress(), and StoppableThread::Status().
|
privateinherited |
Definition at line 105 of file StoppableThread.h.
Referenced by StoppableThread::StoppableThread(), StoppableThread::~StoppableThread(), and StoppableThread::Name().
|
private |
Definition at line 93 of file TEventBuildingLoop.h.
Referenced by CheckBuildCondition(), CheckTimeCondition(), CheckTimestampCondition(), CheckTriggerIdCondition(), and Iteration().
|
private |
Definition at line 97 of file TEventBuildingLoop.h.
Referenced by TEventBuildingLoop(), and Iteration().
|
private |
Definition at line 83 of file TEventBuildingLoop.h.
Referenced by CheckTimeCondition(), CheckTimestampCondition(), CheckTriggerIdCondition(), and OutOfOrderQueue().
|
private |
Definition at line 82 of file TEventBuildingLoop.h.
Referenced by CheckBuildCondition(), CheckTimeCondition(), CheckTimestampCondition(), CheckTriggerIdCondition(), ClearQueue(), GetItemsCurrent(), GetItemsPopped(), GetItemsPushed(), Iteration(), and OutputQueue().
|
privateinherited |
Definition at line 120 of file StoppableThread.h.
Referenced by StoppableThread::IsPaused(), StoppableThread::Loop(), StoppableThread::Pause(), StoppableThread::Resume(), and StoppableThread::Stop().
|
privateinherited |
Definition at line 121 of file StoppableThread.h.
Referenced by StoppableThread::Loop(), StoppableThread::Resume(), and StoppableThread::Stop().
|
privateinherited |
Definition at line 122 of file StoppableThread.h.
Referenced by StoppableThread::Loop(), StoppableThread::Resume(), and StoppableThread::Stop().
|
private |
Definition at line 89 of file TEventBuildingLoop.h.
Referenced by CheckTimeCondition(), CheckTimestampCondition(), and CheckTriggerIdCondition().
|
privateinherited |
Definition at line 118 of file StoppableThread.h.
Referenced by StoppableThread::IsRunning(), StoppableThread::Loop(), StoppableThread::Pause(), StoppableThread::Resume(), and StoppableThread::Stop().
|
private |
Definition at line 90 of file TEventBuildingLoop.h.
Referenced by TEventBuildingLoop(), and Iteration().
|
private |
Definition at line 87 of file TEventBuildingLoop.h.
Referenced by CheckTimeCondition(), CheckTimestampCondition(), CheckTriggerIdCondition(), GetSortDepth(), Iteration(), and SetSortDepth().
|
staticprivateinherited |
Definition at line 116 of file StoppableThread.h.
Referenced by StoppableThread::~StoppableThread(), StoppableThread::join_status_thread(), and StoppableThread::start_status_thread().
|
staticprivateinherited |
Definition at line 114 of file StoppableThread.h.
Referenced by StoppableThread::StoppableThread(), StoppableThread::~StoppableThread(), StoppableThread::start_status_thread(), StoppableThread::status_out_loop(), and StoppableThread::stop_status_thread().
|
staticprivateinherited |
Definition at line 108 of file StoppableThread.h.
Referenced by StoppableThread::AllThreadHeader(), StoppableThread::AllThreadProgress(), StoppableThread::AllThreadStatus(), StoppableThread::Print(), StoppableThread::StatusWidth(), and StoppableThread::StatusWidth().
|
privateinherited |
Definition at line 117 of file StoppableThread.h.
Referenced by StoppableThread::StoppableThread(), and StoppableThread::Join().
|
staticprivateinherited |
Definition at line 112 of file StoppableThread.h.
Referenced by StoppableThread::StoppableThread(), StoppableThread::~StoppableThread(), StoppableThread::AllThreadHeader(), StoppableThread::AllThreadProgress(), StoppableThread::AllThreadStatus(), StoppableThread::AnyThreadRunning(), StoppableThread::AnyThreadStatus(), StoppableThread::ClearAllQueues(), StoppableThread::Get(), StoppableThread::GetAll(), StoppableThread::GetNThreads(), StoppableThread::PauseAll(), StoppableThread::Print(), StoppableThread::ResumeAll(), StoppableThread::SendStop(), StoppableThread::status_out(), and StoppableThread::StopAll().