CMS 3D CMS Logo

ELrecv.h

Go to the documentation of this file.
00001 #ifndef FWCore_MessageService_ELrecv_h
00002 #define FWCore_MessageService_ELrecv_h
00003 
00004 
00005 // ----------------------------------------------------------------------
00006 //
00007 // ELrecv       is a METHOD (not a class!) which the receiver of packets on
00008 //              the client side is to call when it gets an error message packet
00009 //              sent by ELsend.
00010 //
00011 //              The choice of making this a global METHOD rather than a functor
00012 //              class may in some cases make it easier to link to this from
00013 //              non-C++ code.
00014 //
00015 // Usage:
00016 //
00017 // (0)  Define "clients" and "server" such that multiple clients each run
00018 //      user code which will issue ErrorLogger messages, and a single server
00019 //      is to amalgamated those messages into a single flow with unified
00020 //      statistics output.
00021 //
00022 // (1)  Each client connects (one or more) ELcollected destinations to the
00023 //      ELadministrator.  These can be controlled in terms of filtering,
00024 //      throttling and so forth.  The semantics are like those for ELoutput.
00025 //
00026 // (2)  The client process must have a method ELsend (int n, char* data) which
00027 //      moves n bytes of data to the server.
00028 //              If namepaces are enabled, ELsend is in namdspace zmel.
00029 //
00030 // (3)  The server must be set up such that whenever one of these chunks of
00031 //      data is moved to it, it calls ELrecv (n, data).
00032 //
00033 // (4)  The server process sets up its own ELadministrator, and attaches
00034 //      whatever destinations it wants to have.
00035 //
00036 // (*)  The effect of an error message on the client is that ELrecv unravels
00037 //      the data into the individual items that were supplied, and issues an
00038 //      error message which is identical to the error message that was issued
00039 //      on the client.  Thus all these messages end up amalgamated.
00040 //
00041 // 2/29/00 mf   Created file
00042 // 3/16/00 mf   Added signature with localModule name.
00043 //
00044 // ----------------------------------------------------------------------
00045 
00046 #include "FWCore/MessageLogger/interface/ELstring.h"
00047 
00048 namespace edm {       
00049 namespace service {       
00050 
00051 void ELrecv ( int nbytes, const char * data );
00052 void ELrecv ( int nbytes, const char * data, ELstring localModule );
00053 
00054 }        // end of namespace service
00055 }        // end of namespace edm
00056 
00057 
00058 #endif // FWCore_MessageService_ELrecv_h

Generated on Tue Jun 9 17:36:17 2009 for CMSSW by  doxygen 1.5.4