FWCore
MessageService
interface
MainThreadMLscribe.h
Go to the documentation of this file.
1
#ifndef FWCore_MessageService_MainThreadMLscribe_h
2
#define FWCore_MessageService_MainThreadMLscribe_h
3
4
#include "
FWCore/MessageLogger/interface/AbstractMLscribe.h
"
5
#include "
FWCore/MessageLogger/interface/MessageLoggerQ.h
"
6
#include "
FWCore/Utilities/interface/propagate_const.h
"
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
39
class
MainThreadMLscribe
:
public
AbstractMLscribe
{
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
:
50
edm::propagate_const<std::shared_ptr<ThreadQueue>
>
m_queue
;
51
};
// MainThreadMLscribe
52
53
}
// end of namespace service
54
}
// namespace edm
55
56
#endif // FWCore_MessageService_MainThreadMLscribe_h
edm::service::MainThreadMLscribe
Definition:
MainThreadMLscribe.h:39
service
Definition:
service.py:1
edm::service::AbstractMLscribe
Definition:
AbstractMLscribe.h:9
propagate_const.h
edm::service::MainThreadMLscribe::~MainThreadMLscribe
~MainThreadMLscribe() override
Definition:
MainThreadMLscribe.cc:18
edm
HLT enums.
Definition:
AlignableModifier.h:19
edm::propagate_const
Definition:
propagate_const.h:32
MessageLoggerQ.h
edm::service::MainThreadMLscribe::runCommand
void runCommand(MessageLoggerQ::OpCode opcode, void *operand) override
Definition:
MainThreadMLscribe.cc:20
AbstractMLscribe.h
edm::service::MainThreadMLscribe::m_queue
edm::propagate_const< std::shared_ptr< ThreadQueue > > m_queue
Definition:
MainThreadMLscribe.h:50
edm::service::MainThreadMLscribe::MainThreadMLscribe
MainThreadMLscribe(std::shared_ptr< ThreadQueue > tqp)
Definition:
MainThreadMLscribe.cc:16
edm::MessageLoggerQ::OpCode
OpCode
Definition:
MessageLoggerQ.h:26
ThreadQueue
Generated for CMSSW Reference Manual by
1.8.16