#include <TGo4CommandRunnable.h>
Public Member Functions | |
TGo4CommandRunnable (const char *name, TGo4ThreadManager *man, TGo4TaskHandler *hand, Bool_t receivermode=kTRUE) | |
virtual | ~TGo4CommandRunnable () |
virtual Int_t | Run (void *ptr) |
Private Member Functions | |
TGo4CommandRunnable () | |
void | RedirectIO () |
Private Attributes | |
TGo4CommandInvoker * | fxInvoker |
Runnable responsible for command exchange between transport (socket) and buffer (queue) In receiver mode, commands are received from transport, checked if sync or not, the command receiver of system (client) commands is set to the clienttask, sync commands are executed directly, async commands are passed to the queue in not receiver mode, runnables waits for the queue and sends all commands from the queue over the transport thread
Definition at line 33 of file TGo4CommandRunnable.h.
TGo4CommandRunnable::TGo4CommandRunnable | ( | const char * | name, | |
TGo4ThreadManager * | man, | |||
TGo4TaskHandler * | hand, | |||
Bool_t | receivermode = kTRUE | |||
) |
Definition at line 33 of file TGo4CommandRunnable.cxx.
References TGo4TaskHandlerRunnable::fxBufferQueue, fxInvoker, TGo4TaskHandlerRunnable::fxTaskHandler, TGo4TaskHandlerRunnable::fxTransport, TGo4TaskHandler::GetCommandQueue(), TGo4TaskHandler::GetCommandTransport(), and TGo4CommandInvoker::Instance().
TGo4CommandRunnable::~TGo4CommandRunnable | ( | ) | [virtual] |
Definition at line 43 of file TGo4CommandRunnable.cxx.
TGo4CommandRunnable::TGo4CommandRunnable | ( | ) | [private] |
void TGo4CommandRunnable::RedirectIO | ( | ) | [private] |
for error in socket: redirect std::cout/stdcerr to dummy buffer to avoid trouble if client is running in dying QProcess
Definition at line 203 of file TGo4CommandRunnable.cxx.
Referenced by Run().
Int_t TGo4CommandRunnable::Run | ( | void * | ptr | ) | [virtual] |
The working function which runs in the thread
Implements TGo4TaskHandlerRunnable.
Definition at line 47 of file TGo4CommandRunnable.cxx.
References TGo4BufferQueue::AddBuffer(), TGo4TaskHandlerRunnable::CheckStopBuffer(), TGo4TaskHandlerRunnable::CheckTransportOpen(), TGo4Log::Debug(), TGo4TaskHandlerRunnable::fbReceiverMode, TGo4BufferQueue::FreeBuffer(), TGo4TaskHandlerRunnable::fxBufferQueue, TGo4Runnable::fxManager, TGo4TaskHandlerRunnable::fxTaskHandler, TGo4TaskHandlerRunnable::fxTransport, TGo4TaskHandler::Get_fgcERROR(), TGo4TaskHandler::Get_fgcOK(), TGo4Socket::GetBuffer(), TGo4TaskHandler::GetRole(), TGo4Runnable::GetThread(), TGo4TaskHandler::IsClientMode(), TGo4SocketSignalHandler::IsLastSignalWINCH(), TGo4ThreadManager::IsTerminating(), kComCloseInput, kComKillMain, kComQuit, kComRestartMain, TGo4Task::KillMain(), TGo4Socket::ReceiveBuffer(), TGo4Socket::RecvRaw(), RedirectIO(), TGo4Task::RestartMain(), TGo4Socket::Send(), TGo4Socket::SendBuffer(), TGo4ThreadManager::SetBeingQuit(), TGo4SocketSignalHandler::SetLastSignal(), TGo4Thread::Stop(), TGo4Task::SubmitLocalCommand(), and TGo4BufferQueue::WaitBuffer().
TGo4CommandInvoker* TGo4CommandRunnable::fxInvoker [private] |
client mode: link to external (static) invoker singleton, that is used to execute the async commands before the command queue server mode: not used
Definition at line 54 of file TGo4CommandRunnable.h.
Referenced by TGo4CommandRunnable().