IODA Bundle
Stager.h
Go to the documentation of this file.
1 /*
2  * (C) Copyright 1996-2013 ECMWF.
3  *
4  * This software is licensed under the terms of the Apache Licence Version 2.0
5  * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
6  * In applying this licence, ECMWF does not waive the privileges and immunities
7  * granted to it by virtue of its status as an intergovernmental organisation nor
8  * does it submit to any jurisdiction.
9  */
10 
11 // File Stager.h
12 // Piotr Kuchta - ECMWF December 2015
13 
14 #ifndef odc_Stager_H
15 #define odc_Stager_H
16 
17 #include "odc/Partitions.h"
18 #include "odc/FileMapper.h"
19 
20 class Stager {
21 public:
22 
23  static void stage(eckit::MultiHandle& output,
24  const std::vector<std::string>& keywords,
25  const std::map<std::string,std::vector<std::string> >& request);
26 
27 private:
28 
29  static void prepareMapper(FileMapper& mapper,
30  const std::vector<std::string>& keywords,
31  const std::map<std::string,std::vector<std::string> >& request);
32 
33  static void createIndices(const std::vector<eckit::PathName>&);
34  static void sendPartitionsInfo(eckit::MultiHandle&, const odc::Partitions&);
35  static size_t numberOfPartitions(const std::map<std::string,std::vector<std::string> >&);
36  static std::vector<eckit::PathName> writePartitionsToFiles (const odc::Partitions&, const std::string& pathNamePrefix, const std::string& fileListPath);
37 };
38 
39 #endif
Definition: Stager.h:20
static void sendPartitionsInfo(eckit::MultiHandle &, const odc::Partitions &)
Definition: Stager.cc:128
static void stage(eckit::MultiHandle &output, const std::vector< std::string > &keywords, const std::map< std::string, std::vector< std::string > > &request)
Definition: Stager.cc:89
static void prepareMapper(FileMapper &mapper, const std::vector< std::string > &keywords, const std::map< std::string, std::vector< std::string > > &request)
Definition: Stager.cc:34
static size_t numberOfPartitions(const std::map< std::string, std::vector< std::string > > &)
Definition: Stager.cc:45
static void createIndices(const std::vector< eckit::PathName > &)
Definition: Stager.cc:57
static std::vector< eckit::PathName > writePartitionsToFiles(const odc::Partitions &, const std::string &pathNamePrefix, const std::string &fileListPath)
Definition: Stager.cc:68