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/Severity.hpp
>
30
#include <
ers/Context.hpp
>
31
#include <
ers/IssueReceiver.hpp
>
32
#include <
ers/StreamFactory.hpp
>
33
#include <
ers/internal/PluginManager.hpp
>
34
35
#include <list>
36
42
namespace
ers
43
{
44
class
InputStream
;
45
class
LocalStream;
46
class
OutputStream
;
47
class
ErrorHandler;
48
class
Issue
;
49
class
StreamInitializer
;
50
template
<
class
>
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
>
friend
class
SingletonCreator
;
75
76
public
:
77
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,
95
const
std::string & filter,
96
ers::IssueReceiver
* receiver );
97
98
void
add_receiver
(
const
std::string & stream,
99
const
std::initializer_list<std::string> & params,
100
ers::IssueReceiver
* receiver );
101
102
void
remove_receiver
(
ers::IssueReceiver
* receiver );
103
104
void
add_output_stream
(
ers::severity
severity
,
ers::OutputStream
* new_stream );
105
106
void
report_issue
(
ers::severity
type
,
const
Issue
& issue );
107
108
private
:
109
StreamManager
( );
110
111
OutputStream
*
setup_stream
(
ers::severity
severity
);
112
OutputStream
*
setup_stream
(
const
std::vector<std::string> & streams );
113
114
PluginManager
m_plugin_manager
;
115
std::mutex
m_mutex
;
116
std::list<std::shared_ptr<InputStream> >
m_in_streams
;
117
std::shared_ptr<OutputStream>
m_init_streams
[
ers::Fatal
+ 1];
118
std::shared_ptr<OutputStream>
m_out_streams
[
ers::Fatal
+ 1];
119
};
120
121
std::ostream &
operator<<
( std::ostream &,
const
ers::StreamManager
& );
122
}
123
124
#endif
125
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:40
ers::IssueReceiver
ERS Issue receiver interface.
Definition
IssueReceiver.hpp:42
ers::Issue
Base class for any user define issue.
Definition
Issue.hpp:80
ers::OutputStream
ERS abstract output stream interface.
Definition
OutputStream.hpp:50
ers::PluginManager
Definition
PluginManager.hpp:49
ers::SingletonCreator
Definition
SingletonCreator.hpp:35
ers::StreamInitializer
Definition
StreamManager.cpp:116
ers::StreamManager
This class manages and provides access to ERS streams.
Definition
StreamManager.hpp:70
ers::StreamManager::~StreamManager
~StreamManager()
Definition
StreamManager.cpp:185
ers::StreamManager::m_plugin_manager
PluginManager m_plugin_manager
Definition
StreamManager.hpp:114
ers::StreamManager::add_output_stream
void add_output_stream(ers::severity severity, ers::OutputStream *new_stream)
Definition
StreamManager.cpp:189
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:117
ers::StreamManager::SingletonCreator
friend class SingletonCreator
Definition
StreamManager.hpp:74
ers::StreamManager::setup_stream
OutputStream * setup_stream(ers::severity severity)
Definition
StreamManager.cpp:246
ers::StreamManager::warning
void warning(const Issue &issue)
sends an issue to the warning stream
Definition
StreamManager.cpp:360
ers::StreamManager::instance
static StreamManager & instance()
return the singleton
Definition
StreamManager.cpp:162
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:116
ers::StreamManager::m_mutex
std::mutex m_mutex
Definition
StreamManager.hpp:115
ers::StreamManager::StreamManager
StreamManager()
Definition
StreamManager.cpp:174
ers::StreamManager::report_issue
void report_issue(ers::severity type, const Issue &issue)
Definition
StreamManager.cpp:316
ers::StreamManager::log
void log(const Issue &issue)
sends an issue to the log stream
Definition
StreamManager.cpp:378
ers::StreamManager::fatal
void fatal(const Issue &issue)
sends an issue to the fatal stream
Definition
StreamManager.cpp:351
ers::StreamManager::add_receiver
void add_receiver(const std::string &stream, const std::string &filter, ers::IssueReceiver *receiver)
Definition
StreamManager.cpp:208
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:337
ers::StreamManager::information
void information(const Issue &issue)
sends an issue to the information stream
Definition
StreamManager.cpp:369
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:118
ers::StreamManager::remove_receiver
void remove_receiver(ers::IssueReceiver *receiver)
Definition
StreamManager.cpp:232
ers
Definition
Logger.hxx:202
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:37
error
Factory couldn t std::string alg_name Invalid configuration error
Definition
Issues.hpp:34
Generated on
for DUNE-DAQ by
1.17.0