DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
dunedaq
sourcecode
snbmodules
include
snbmodules
common
status_enum.hpp
Go to the documentation of this file.
1
9
#ifndef SNBMODULES_INCLUDE_SNBMODULES_COMMON_STATUS_ENUM_HPP_
10
#define SNBMODULES_INCLUDE_SNBMODULES_COMMON_STATUS_ENUM_HPP_
11
12
#include <map>
13
#include <optional>
14
#include <string>
15
16
namespace
dunedaq::snbmodules
{
17
struct
status_type
18
{
21
enum
e_status
22
{
25
PREPARING
,
// when the file is not yet available to execute transfer and need more time (ex: torrent file is being
26
// generated)
27
ERROR
,
28
29
SUCCESS_UPLOAD
,
30
SUCCESS_DOWNLOAD
,
31
FINISHED
,
32
CANCELLED
,
33
34
PAUSED
,
35
WAITING
,
36
37
// TODO Aug-14-2022 Leo Joly leo.vincent.andre.joly@cern.ch : should we add more status and specify value ?
38
39
CHECKING
,
40
HASHING
,
41
UPLOADING
,
42
DOWNLOADING
,
43
};
44
45
static
std::string
status_to_string
(
e_status
e)
46
{
47
const
std::map<e_status, std::string> MyEnumStrings{ {
PREPARING
,
"PREPARING"
},
48
{
ERROR
,
"ERROR"
},
49
{
SUCCESS_UPLOAD
,
"SUCCESS_UPLOAD"
},
50
{
SUCCESS_DOWNLOAD
,
"SUCCESS_DOWNLOAD"
},
51
{
FINISHED
,
"FINISHED"
},
52
{
CANCELLED
,
"CANCELLED"
},
53
{
PAUSED
,
"PAUSED"
},
54
{
WAITING
,
"WAITING"
},
55
{
CHECKING
,
"CHECKING"
},
56
{
HASHING
,
"HASHING"
},
57
{
UPLOADING
,
"UPLOADING"
},
58
{
DOWNLOADING
,
"DOWNLOADING"
} };
59
auto
it = MyEnumStrings.find(e);
60
return
it == MyEnumStrings.end() ?
"Not supported"
: it->second;
61
}
62
63
static
std::optional<e_status>
string_to_status
(std::string s)
64
{
65
const
std::map<std::string, e_status> MyStringsEnum{ {
"PREPARING"
,
PREPARING
},
66
{
"ERROR"
,
ERROR
},
67
{
"SUCCESS_UPLOAD"
,
SUCCESS_UPLOAD
},
68
{
"SUCCESS_DOWNLOAD"
,
SUCCESS_DOWNLOAD
},
69
{
"FINISHED"
,
FINISHED
},
70
{
"CANCELLED"
,
CANCELLED
},
71
{
"PAUSED"
,
PAUSED
},
72
{
"WAITING"
,
WAITING
},
73
{
"CHECKING"
,
CHECKING
},
74
{
"HASHING"
,
HASHING
},
75
{
"UPLOADING"
,
UPLOADING
},
76
{
"DOWNLOADING"
,
DOWNLOADING
} };
77
auto
it = MyStringsEnum.find(s);
78
if
(it == MyStringsEnum.end()) {
79
return
std::nullopt;
80
}
81
return
it->second;
82
}
83
};
84
85
}
// namespace dunedaq::snbmodules
86
#endif
// SNBMODULES_INCLUDE_SNBMODULES_COMMON_STATUS_ENUM_HPP_
dunedaq::snbmodules
Definition
bookkeeper.hpp:30
dunedaq::snbmodules::status_type
Definition
status_enum.hpp:18
dunedaq::snbmodules::status_type::status_to_string
static std::string status_to_string(e_status e)
Definition
status_enum.hpp:45
dunedaq::snbmodules::status_type::e_status
e_status
Different type of session status Need to be sorted by priority (highest last)
Definition
status_enum.hpp:22
dunedaq::snbmodules::status_type::CANCELLED
@ CANCELLED
Definition
status_enum.hpp:32
dunedaq::snbmodules::status_type::SUCCESS_DOWNLOAD
@ SUCCESS_DOWNLOAD
Definition
status_enum.hpp:30
dunedaq::snbmodules::status_type::PAUSED
@ PAUSED
Definition
status_enum.hpp:34
dunedaq::snbmodules::status_type::WAITING
@ WAITING
Definition
status_enum.hpp:35
dunedaq::snbmodules::status_type::ERROR
@ ERROR
Definition
status_enum.hpp:27
dunedaq::snbmodules::status_type::CHECKING
@ CHECKING
Definition
status_enum.hpp:39
dunedaq::snbmodules::status_type::DOWNLOADING
@ DOWNLOADING
Definition
status_enum.hpp:42
dunedaq::snbmodules::status_type::FINISHED
@ FINISHED
Definition
status_enum.hpp:31
dunedaq::snbmodules::status_type::HASHING
@ HASHING
Definition
status_enum.hpp:40
dunedaq::snbmodules::status_type::SUCCESS_UPLOAD
@ SUCCESS_UPLOAD
Definition
status_enum.hpp:29
dunedaq::snbmodules::status_type::UPLOADING
@ UPLOADING
Definition
status_enum.hpp:41
dunedaq::snbmodules::status_type::PREPARING
@ PREPARING
waiting for the transfer to start, can be waiting to receive expected files metadata
Definition
status_enum.hpp:25
dunedaq::snbmodules::status_type::string_to_status
static std::optional< e_status > string_to_status(std::string s)
Definition
status_enum.hpp:63
Generated on Thu Dec 25 2025 for DUNE-DAQ by
1.12.0