FileServiceProxy.h
Go to the documentation of this file.
1 #ifndef art_Framework_IO_Sources_detail_FileServiceProxy_h
2 #define art_Framework_IO_Sources_detail_FileServiceProxy_h
3 
10 
11 #include <string>
12 #include <vector>
13 
14 namespace art::detail {
15  class FileServiceProxy;
16 }
17 
19 public:
20  explicit FileServiceProxy(std::vector<std::string>&& fileNames,
21  size_t attempts = 5,
22  double waitBetweenAttempts = 5.0);
24 
25  std::string next();
26  void finish();
27 
28 private:
31 
34  struct FileEntity {
35  explicit FileEntity(size_t const attempts) noexcept
36  : attemptsRemaining{attempts}
37  {}
43  } currentItem_;
44  size_t const attemptsPerPhase_;
45  double const waitBetweenAttempts_;
46 };
47 
48 inline std::string
50 {
51  finish();
52  return obtainURI_();
53 }
54 
55 #endif /* art_Framework_IO_Sources_detail_FileServiceProxy_h */
56 
57 // Local Variables:
58 // mode: c++
59 // End:
FileEntity(size_t const attempts) noexcept
FileServiceProxy(std::vector< std::string > &&fileNames, size_t attempts=5, double waitBetweenAttempts=5.0)
ServiceHandle< FileTransfer > ft_
struct art::detail::FileServiceProxy::FileEntity currentItem_
const XML_Char const XML_Char * uri
Definition: expat.h:380
ServiceHandle< CatalogInterface > ci_
enum BeamMode string