DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
snbmodules
include
snbmodules
interfaces
transfer_interface_abstract.hpp
Go to the documentation of this file.
1
8
9
#ifndef SNBMODULES_INCLUDE_SNBMODULES_INTERFACES_TRANSFER_INTERFACE_ABSTRACT_HPP_
10
#define SNBMODULES_INCLUDE_SNBMODULES_INTERFACES_TRANSFER_INTERFACE_ABSTRACT_HPP_
11
12
#include "
appfwk/cmd/Nljs.hpp
"
13
#include "
snbmodules/group_metadata.hpp
"
14
#include "
snbmodules/ip_format.hpp
"
15
#include "
snbmodules/transfer_metadata.hpp
"
16
17
// errors handling
18
#include "
logging/Logging.hpp
"
19
#include "
snbmodules/common/errors_declaration.hpp
"
20
21
#include <iostream>
22
#include <set>
23
24
namespace
dunedaq::snbmodules
{
25
class
TransferInterfaceAbstract
26
{
27
28
public
:
29
explicit
TransferInterfaceAbstract
(
GroupMetadata
&
config
)
30
:
m_config
(
config
)
31
{
32
}
33
virtual
~TransferInterfaceAbstract
() =
default
;
34
35
GroupMetadata
&
get_transfer_options
() {
return
m_config
; }
36
37
virtual
bool
upload_file
(
TransferMetadata
& f_meta) = 0;
38
virtual
bool
download_file
(
TransferMetadata
& f_meta, std::filesystem::path dest) = 0;
39
virtual
bool
pause_file
(
TransferMetadata
& f_meta) = 0;
40
virtual
bool
resume_file
(
TransferMetadata
& f_meta) = 0;
41
virtual
bool
hash_file
(
TransferMetadata
& f_meta) = 0;
42
virtual
bool
cancel_file
(
TransferMetadata
& f_meta) = 0;
43
44
protected
:
46
GroupMetadata
&
m_config
;
47
};
48
51
class
TransferInterfaceDummy
:
public
TransferInterfaceAbstract
52
{
53
54
public
:
55
explicit
TransferInterfaceDummy
(
GroupMetadata
&
config
)
56
:
TransferInterfaceAbstract
(
config
)
57
{
58
}
59
60
bool
upload_file
(
TransferMetadata
& f_meta)
override
61
{
62
TLOG
() <<
"Upload file "
<< f_meta.
get_file_name
();
63
return
true
;
64
}
65
bool
download_file
(
TransferMetadata
& f_meta, std::filesystem::path dest)
override
66
{
67
(void)dest;
68
TLOG
() <<
"Download file "
<< f_meta.
get_file_name
();
69
return
true
;
70
}
71
bool
pause_file
(
TransferMetadata
& f_meta)
override
72
{
73
TLOG
() <<
"Pause file "
<< f_meta.
get_file_name
();
74
return
true
;
75
}
76
bool
resume_file
(
TransferMetadata
& f_meta)
override
77
{
78
TLOG
() <<
"Resume file "
<< f_meta.
get_file_name
();
79
return
true
;
80
}
81
bool
cancel_file
(
TransferMetadata
& f_meta)
override
82
{
83
TLOG
() <<
"Cancel file "
<< f_meta.
get_file_name
();
84
return
true
;
85
}
86
bool
hash_file
(
TransferMetadata
& f_meta)
override
87
{
88
TLOG
() <<
"Hash file "
<< f_meta.
get_file_name
();
89
return
true
;
90
}
91
};
92
}
// namespace dunedaq::snbmodules
93
#endif
// SNBMODULES_INCLUDE_SNBMODULES_INTERFACES_TRANSFER_INTERFACE_ABSTRACT_HPP_
Nljs.hpp
dunedaq::snbmodules::GroupMetadata
Definition
group_metadata.hpp:26
dunedaq::snbmodules::TransferInterfaceAbstract::pause_file
virtual bool pause_file(TransferMetadata &f_meta)=0
dunedaq::snbmodules::TransferInterfaceAbstract::download_file
virtual bool download_file(TransferMetadata &f_meta, std::filesystem::path dest)=0
dunedaq::snbmodules::TransferInterfaceAbstract::resume_file
virtual bool resume_file(TransferMetadata &f_meta)=0
dunedaq::snbmodules::TransferInterfaceAbstract::hash_file
virtual bool hash_file(TransferMetadata &f_meta)=0
dunedaq::snbmodules::TransferInterfaceAbstract::TransferInterfaceAbstract
TransferInterfaceAbstract(GroupMetadata &config)
Definition
transfer_interface_abstract.hpp:29
dunedaq::snbmodules::TransferInterfaceAbstract::upload_file
virtual bool upload_file(TransferMetadata &f_meta)=0
dunedaq::snbmodules::TransferInterfaceAbstract::get_transfer_options
GroupMetadata & get_transfer_options()
Definition
transfer_interface_abstract.hpp:35
dunedaq::snbmodules::TransferInterfaceAbstract::~TransferInterfaceAbstract
virtual ~TransferInterfaceAbstract()=default
dunedaq::snbmodules::TransferInterfaceAbstract::cancel_file
virtual bool cancel_file(TransferMetadata &f_meta)=0
dunedaq::snbmodules::TransferInterfaceAbstract::m_config
GroupMetadata & m_config
MetadataAbstract of the transfer, contain settings and status of the transfer.
Definition
transfer_interface_abstract.hpp:46
dunedaq::snbmodules::TransferInterfaceDummy::TransferInterfaceDummy
TransferInterfaceDummy(GroupMetadata &config)
Definition
transfer_interface_abstract.hpp:55
dunedaq::snbmodules::TransferInterfaceDummy::download_file
bool download_file(TransferMetadata &f_meta, std::filesystem::path dest) override
Definition
transfer_interface_abstract.hpp:65
dunedaq::snbmodules::TransferInterfaceDummy::pause_file
bool pause_file(TransferMetadata &f_meta) override
Definition
transfer_interface_abstract.hpp:71
dunedaq::snbmodules::TransferInterfaceDummy::hash_file
bool hash_file(TransferMetadata &f_meta) override
Definition
transfer_interface_abstract.hpp:86
dunedaq::snbmodules::TransferInterfaceDummy::resume_file
bool resume_file(TransferMetadata &f_meta) override
Definition
transfer_interface_abstract.hpp:76
dunedaq::snbmodules::TransferInterfaceDummy::upload_file
bool upload_file(TransferMetadata &f_meta) override
Definition
transfer_interface_abstract.hpp:60
dunedaq::snbmodules::TransferInterfaceDummy::cancel_file
bool cancel_file(TransferMetadata &f_meta) override
Definition
transfer_interface_abstract.hpp:81
dunedaq::snbmodules::TransferMetadata
Definition
transfer_metadata.hpp:29
dunedaq::snbmodules::TransferMetadata::get_file_name
std::string get_file_name() const
Definition
transfer_metadata.hpp:256
errors_declaration.hpp
group_metadata.hpp
ip_format.hpp
Logging.hpp
TLOG
#define TLOG(...)
Definition
macro.hpp:22
dunedaq::config
Definition
config_api_info.hpp:26
dunedaq::snbmodules
Definition
bookkeeper.hpp:30
transfer_metadata.hpp
Generated on
for DUNE-DAQ by
1.17.0