CMS 3D CMS Logo

MainThreadMLscribe.h
Go to the documentation of this file.
1 #ifndef FWCore_MessageService_MainThreadMLscribe_h
2 #define FWCore_MessageService_MainThreadMLscribe_h
3 
7 
8 // I believe the below are not needed:
9 
10 #include <memory>
11 
12 #include <iosfwd>
13 #include <vector>
14 #include <map>
15 
16 #include <iostream>
17 
18 namespace edm {
19  namespace service {
20 
21  // ----------------------------------------------------------------------
22  //
23  // MainThreadMLscribe.h
24  //
25  // This class is a concrete of AbstractMessageLoggerScribe
26  // Its purpose exists ONLY if there is a second thread running the workhorse
27  // scrribe. In that case, the workhorse will be consuming from a
28  // SingleConsumerQ, and this class is the one that places the item on said
29  // queue. It does work that used to be the realm of MessageLoggerQ.
30  //
31  // Changes:
32  //
33  // 0 - 8/7/09 Initial version mf and crj
34  //
35  // -----------------------------------------------------------------------
36 
37  class ThreadQueue;
38 
40  public:
41  // --- birth/death:
42  MainThreadMLscribe(std::shared_ptr<ThreadQueue> tqp);
43  ~MainThreadMLscribe() override;
44 
45  // --- receive and act on messages:
46 
47  void runCommand(MessageLoggerQ::OpCode opcode, void* operand) override;
48 
49  private:
51  }; // MainThreadMLscribe
52 
53  } // end of namespace service
54 } // namespace edm
55 
56 #endif // FWCore_MessageService_MainThreadMLscribe_h
edm::propagate_const< std::shared_ptr< ThreadQueue > > m_queue
HLT enums.
MainThreadMLscribe(std::shared_ptr< ThreadQueue > tqp)
void runCommand(MessageLoggerQ::OpCode opcode, void *operand) override