DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
ers
include
ers
StreamManager.hpp
Go to the documentation of this file.
1
/*
2
* DUNE DAQ modification notice:
3
* This file has been modified from the original ATLAS ers source for the DUNE DAQ project.
4
* Fork baseline commit: 8267df82a4f6fe6bf02c4014923eba19eddc4614 (2020-04-14).
5
* Renamed since fork: yes (from ers/StreamManager.h to include/ers/StreamManager.hpp).
6
*
7
* Original copyright:
8
* Copyright (C) 2001-2020 CERN for the benefit of the ATLAS collaboration.
9
* Licensed under the Apache License, Version 2.0.
10
*/
11
12
/*
13
* StreamManager.h
14
* ers
15
*
16
* Created by Serguei Kolos on 21.11.05.
17
* Copyright 2005 CERN. All rights reserved.
18
*
19
*/
20
21
#ifndef ERS_STREAM_MANAGER_H
22
#define ERS_STREAM_MANAGER_H
23
24
#include <initializer_list>
25
26
#include <memory>
27
#include <mutex>
28
29
#include <
ers/Context.hpp
>
30
#include <
ers/IssueReceiver.hpp
>
31
#include <
ers/Severity.hpp
>
32
#include <
ers/StreamFactory.hpp
>
33
#include <
ers/internal/PluginManager.hpp
>
34
35
#include <list>
36
42
namespace
ers
{
43
class
InputStream
;
44
class
LocalStream;
45
class
OutputStream
;
46
class
ErrorHandler;
47
class
Issue
;
48
class
StreamInitializer
;
49
template
<
class
>
50
class
SingletonCreator
;
51
68
69
class
StreamManager
70
{
71
friend
class
StreamInitializer
;
72
friend
class
ers::LocalStream
;
73
friend
class
ers::ErrorHandler
;
74
template
<
class
>
75
friend
class
SingletonCreator
;
76
77
public
:
78
~StreamManager
();
79
80
static
StreamManager
&
instance
();
81
82
void
debug
(
const
Issue
& issue,
int
level);
83
84
void
error
(
const
Issue
& issue);
85
86
void
fatal
(
const
Issue
& issue);
87
88
void
information
(
const
Issue
& issue);
89
90
void
log
(
const
Issue
& issue);
91
92
void
warning
(
const
Issue
& issue);
93
94
void
add_receiver
(
const
std::string& stream,
const
std::string& filter,
ers::IssueReceiver
* receiver);
95
96
void
add_receiver
(
const
std::string& stream,
97
const
std::initializer_list<std::string>& params,
98
ers::IssueReceiver
* receiver);
99
100
void
remove_receiver
(
ers::IssueReceiver
* receiver);
101
102
void
add_output_stream
(
ers::severity
severity
,
ers::OutputStream
* new_stream);
103
104
void
report_issue
(
ers::severity
type
,
const
Issue
& issue);
105
106
private
:
107
StreamManager
();
108
109
OutputStream
*
setup_stream
(
ers::severity
severity
);
110
OutputStream
*
setup_stream
(
const
std::vector<std::string>& streams);
111
112
PluginManager
m_plugin_manager
;
113
std::mutex
m_mutex
;
114
std::list<std::shared_ptr<InputStream>>
m_in_streams
;
115
std::shared_ptr<OutputStream>
m_init_streams
[
ers::Fatal
+ 1];
116
std::shared_ptr<OutputStream>
m_out_streams
[
ers::Fatal
+ 1];
117
};
118
119
std::ostream&
120
operator<<
(std::ostream&,
const
ers::StreamManager
&);
121
}
122
123
#endif
Context.hpp
IssueReceiver.hpp
PluginManager.hpp
Severity.hpp
StreamFactory.hpp
type
type
Definition
TriggerActivity_serialization.hpp:48
ers::InputStream
ERS Issue input stream interface.
Definition
InputStream.hpp:41
ers::IssueReceiver
ERS Issue receiver interface.
Definition
IssueReceiver.hpp:41
ers::Issue
Base class for any user define issue.
Definition
Issue.hpp:76
ers::OutputStream
ERS abstract output stream interface.
Definition
OutputStream.hpp:48
ers::PluginManager
Definition
PluginManager.hpp:49
ers::SingletonCreator
Definition
SingletonCreator.hpp:34
ers::StreamInitializer
Definition
StreamManager.cpp:107
ers::StreamManager
This class manages and provides access to ERS streams.
Definition
StreamManager.hpp:70
ers::StreamManager::m_plugin_manager
PluginManager m_plugin_manager
Definition
StreamManager.hpp:112
ers::StreamManager::add_output_stream
void add_output_stream(ers::severity severity, ers::OutputStream *new_stream)
Definition
StreamManager.cpp:181
ers::StreamManager::error
void error(const Issue &issue)
sends an issue to the error stream
Definition
StreamManager.cpp:301
ers::StreamManager::m_init_streams
std::shared_ptr< OutputStream > m_init_streams[ers::Fatal+1]
array of pointers to streams per severity
Definition
StreamManager.hpp:115
ers::StreamManager::SingletonCreator
friend class SingletonCreator
Definition
StreamManager.hpp:75
ers::StreamManager::setup_stream
OutputStream * setup_stream(ers::severity severity)
Definition
StreamManager.cpp:230
ers::StreamManager::warning
void warning(const Issue &issue)
sends an issue to the warning stream
Definition
StreamManager.cpp:333
ers::StreamManager::instance
static StreamManager & instance()
return the singleton
Definition
StreamManager.cpp:153
ers::StreamManager::ErrorHandler
friend class ers::ErrorHandler
Definition
StreamManager.hpp:73
ers::StreamManager::m_in_streams
std::list< std::shared_ptr< InputStream > > m_in_streams
Definition
StreamManager.hpp:114
ers::StreamManager::m_mutex
std::mutex m_mutex
Definition
StreamManager.hpp:113
ers::StreamManager::StreamManager
StreamManager()
Definition
StreamManager.cpp:165
ers::StreamManager::report_issue
void report_issue(ers::severity type, const Issue &issue)
Definition
StreamManager.cpp:290
ers::StreamManager::log
void log(const Issue &issue)
sends an issue to the log stream
Definition
StreamManager.cpp:351
ers::StreamManager::fatal
void fatal(const Issue &issue)
sends an issue to the fatal stream
Definition
StreamManager.cpp:324
ers::StreamManager::add_receiver
void add_receiver(const std::string &stream, const std::string &filter, ers::IssueReceiver *receiver)
Definition
StreamManager.cpp:196
ers::StreamManager::LocalStream
friend class ers::LocalStream
Definition
StreamManager.hpp:72
ers::StreamManager::debug
void debug(const Issue &issue, int level)
sends an Issue to the debug stream
Definition
StreamManager.cpp:311
ers::StreamManager::information
void information(const Issue &issue)
sends an issue to the information stream
Definition
StreamManager.cpp:342
ers::StreamManager::StreamInitializer
friend class StreamInitializer
Definition
StreamManager.hpp:71
ers::StreamManager::m_out_streams
std::shared_ptr< OutputStream > m_out_streams[ers::Fatal+1]
array of pointers to streams per severity
Definition
StreamManager.hpp:116
ers::StreamManager::remove_receiver
void remove_receiver(ers::IssueReceiver *receiver)
Definition
StreamManager.cpp:218
ers
Definition
Logger.hxx:231
ers::operator<<
std::ostream & operator<<(std::ostream &, const ers::Configuration &)
Definition
Configuration.cpp:60
ers::severity
severity
Definition
Severity.hpp:37
ers::Fatal
@ Fatal
Definition
Severity.hpp:43
Generated on
for DUNE-DAQ by
1.18.0