CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ELrecv.h
Go to the documentation of this file.
1 #ifndef FWCore_MessageService_ELrecv_h
2 #define FWCore_MessageService_ELrecv_h
3 
4 
5 // ----------------------------------------------------------------------
6 //
7 // ELrecv is a METHOD (not a class!) which the receiver of packets on
8 // the client side is to call when it gets an error message packet
9 // sent by ELsend.
10 //
11 // The choice of making this a global METHOD rather than a functor
12 // class may in some cases make it easier to link to this from
13 // non-C++ code.
14 //
15 // Usage:
16 //
17 // (0) Define "clients" and "server" such that multiple clients each run
18 // user code which will issue ErrorLogger messages, and a single server
19 // is to amalgamated those messages into a single flow with unified
20 // statistics output.
21 //
22 // (1) Each client connects (one or more) ELcollected destinations to the
23 // ELadministrator. These can be controlled in terms of filtering,
24 // throttling and so forth. The semantics are like those for ELoutput.
25 //
26 // (2) The client process must have a method ELsend (int n, char* data) which
27 // moves n bytes of data to the server.
28 // If namepaces are enabled, ELsend is in namdspace zmel.
29 //
30 // (3) The server must be set up such that whenever one of these chunks of
31 // data is moved to it, it calls ELrecv (n, data).
32 //
33 // (4) The server process sets up its own ELadministrator, and attaches
34 // whatever destinations it wants to have.
35 //
36 // (*) The effect of an error message on the client is that ELrecv unravels
37 // the data into the individual items that were supplied, and issues an
38 // error message which is identical to the error message that was issued
39 // on the client. Thus all these messages end up amalgamated.
40 //
41 // 2/29/00 mf Created file
42 // 3/16/00 mf Added signature with localModule name.
43 //
44 // ----------------------------------------------------------------------
45 
47 
48 namespace edm {
49 namespace service {
50 
51 void ELrecv ( int nbytes, const char * data );
52 void ELrecv ( int nbytes, const char * data, ELstring localModule );
53 
54 } // end of namespace service
55 } // end of namespace edm
56 
57 
58 #endif // FWCore_MessageService_ELrecv_h
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
void ELrecv(int nbytes, const char *data)
Definition: ELrecv.cc:42
std::string ELstring
Definition: ELstring.h:26