Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/root/MPCode.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 /* @(#)root/multiproc:$Id$ */
0002 // Author: Enrico Guiraud July 2015
0003 
0004 /*************************************************************************
0005  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
0006  * All rights reserved.                                                  *
0007  *                                                                       *
0008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
0009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
0010  *************************************************************************/
0011 
0012 #ifndef ROOT_MPCode
0013 #define ROOT_MPCode
0014 
0015 /////////////////////////////////////////////////////////////////////////
0016 /// This namespace prevents conflicts between MPCode::kError and
0017 /// ELogLevel::kError
0018 namespace MPCode {
0019 
0020    //////////////////////////////////////////////////////////////////////////
0021    ///
0022    /// An enumeration of the message codes handled by TProcessExecutor,
0023    /// TTreeProcessorMP, TMPWorker, TMPWorkerTree and by the low level
0024    /// classes TMPClient and TMPWorker.
0025    ///
0026    //////////////////////////////////////////////////////////////////////////
0027 
0028    enum EMPCode : unsigned {
0029    //not an enum class because we want to be able to easily cast back and forth from unsigned
0030       /* TProcessExecutor::Map */
0031       kExecFunc = 0,    ///< Execute function without arguments
0032       kExecFuncWithArg, ///< Execute function with the argument contained in the message
0033       kFuncResult,      ///< The message contains the result of a function execution
0034       /* TProcessExecutor::MapReduce */
0035       kIdling = 100,    ///< We are ready for the next task
0036       kSendResult,      ///< Ask for a kFuncResult/kProcResult
0037       /* TTreeProcessorMP::Process */
0038       kProcFile = 200,  ///< Tell a TMPWorkerTree which tree to process. The object sent is a TreeInfo
0039       kProcRange,       ///< Tell a TMPWorkerTree which tree and entries range to process. The object sent is a TreeRangeInfo
0040       kProcTree,        ///< Tell a TMPWorkerTree to process the tree that was passed to it at construction time
0041       kProcSelector,    ///< Tell a TMPWorkerTree to process the tree using the selector passed to it at construction time
0042       kProcResult,      ///< The message contains the result of the processing of a TTree
0043       kProcEnded,       ///< Tell the client we are done processing (i.e. we have reached the target number of entries to process)
0044       kProcError,       ///< Tell the client there was an error while processing
0045       /* Generic messages, including errors */
0046       kMessage = 1000,  ///< Generic message
0047       kError,           ///< Error message
0048       kFatalError,      ///< Fatal error: whoever sends this message is terminating execution
0049       kShutdownOrder,   ///< Used by the client to tell servers to shutdown
0050       kShutdownNotice,  ///< Used by the workers to notify client of shutdown
0051       kRecvError        ///< Error while reading from the socket
0052    };
0053 }
0054 
0055 #endif