12#ifndef FRAMEWORK_DATASAMPLING_H
13#define FRAMEWORK_DATASAMPLING_H
23#include <boost/property_tree/ptree_fwd.hpp>
33class CompletionPolicy;
34class ChannelConfigurationPolicy;
99 static std::vector<framework::InputSpec>
InputSpecsForPolicy(
const boost::property_tree::ptree& policiesTree,
const std::string& policyName);
101 static std::vector<framework::OutputSpec>
OutputSpecsForPolicy(
const boost::property_tree::ptree& policiesTree,
const std::string& policyName);
103 static std::optional<uint16_t>
PortForPolicy(
const boost::property_tree::ptree& policiesTree,
const std::string& policyName);
105 static std::vector<std::string>
MachinesForPolicy(
const boost::property_tree::ptree& policiesTree,
const std::string& policyName);
107 static std::string
BindLocationForPolicy(
const boost::property_tree::ptree& policiesTree,
const std::string& policyName);
110 static void DoGenerateInfrastructure(
Dispatcher&,
framework::WorkflowSpec& workflow, boost::property_tree::ptree
const& policies,
size_t threads = 1,
const std::string& host =
"");
112 static std::string createDispatcherName();
o2::configuration::ConfigurationInterface ConfigurationInterface
DataSampling()=delete
Deleted default constructor. This class is stateless.
static void CustomizeInfrastructure(std::vector< framework::CompletionPolicy > &)
Configures dispatcher to consume any data immediately.
static std::string BindLocationForPolicy(const boost::property_tree::ptree &policiesTree, const std::string &policyName)
Says if remote part (e.g. QC server) should bind the inter-machine channel, according to the configur...
static std::optional< uint16_t > PortForPolicy(const boost::property_tree::ptree &policiesTree, const std::string &policyName)
Provides the port to be used for a proxy of given DataSamplingPolicy. Expects the "dataSamplingPolici...
static void GenerateInfrastructure(framework::WorkflowSpec &workflow, const std::string &policiesSource, size_t threads=1, const std::string &host="")
Generates data sampling infrastructure.
static std::vector< framework::InputSpec > InputSpecsForPolicy(const boost::property_tree::ptree &policiesTree, const std::string &policyName)
Provides InputSpecs to receive data for given DataSamplingPolicy. Expects the "dataSamplingPolicies" ...
static std::vector< std::string > MachinesForPolicy(const boost::property_tree::ptree &policiesTree, const std::string &policyName)
Provides the machines where given DataSamplingPolicy is enabled. Expects the "dataSamplingPolicies" t...
static std::vector< framework::OutputSpec > OutputSpecsForPolicy(const boost::property_tree::ptree &policiesTree, const std::string &policyName)
Provides OutputSpecs of given DataSamplingPolicy. Expects the "dataSamplingPolicies" tree.
Defining PrimaryVertex explicitly as messageable.
std::vector< DataProcessorSpec > WorkflowSpec
A header which contains some meta-data generated by Data Sampling.