ifw-daq  3.0.1
IFW Data Acquisition modules
Classes | Namespaces | Functions
scheduler.hpp File Reference

daq::dpm::Scheduler and related class declarations. More...

#include <daq/config.hpp>
#include <functional>
#include <vector>
#include <boost/signals2.hpp>
#include <log4cplus/logger.h>
#include <rad/ioExecutor.hpp>
#include <daq/dpm/sourceResolver.hpp>
#include <daq/json/dpSpec.hpp>
#include <daq/process/asyncProcess.hpp>
#include <daq/process/rsyncAsyncProcess.hpp>
#include <daq/resourceToken.hpp>
#include <daq/status.hpp>

Go to the source code of this file.

Classes

class  daq::dpm::DaqController
 Controller for specific DAQ. More...
 
struct  daq::dpm::ConcurrencyLimits
 Imposes limits on how many concurrent operations are allowed. More...
 
struct  daq::dpm::SchedulerOptions
 Options controlling scheduler operations. More...
 
struct  daq::dpm::SchedulerOptions::ConcurrencyLimits
 Imposes limits on how many concurrent operations are allowed. More...
 
struct  daq::dpm::DaqControllerOptions
 Options for DaqController. More...
 
struct  daq::dpm::Resources
 Limited resources. More...
 
struct  daq::dpm::ResourcesConnections
 
class  daq::dpm::Scheduler
 Schedules asynchronous activities that results in merged Data Product and delivery. More...
 
class  daq::dpm::SchedulerImpl
 
class  daq::dpm::DaqControllerImpl
 Internal data structure to SchedulerImpl. More...
 
struct  daq::dpm::DaqControllerImpl::Collecting::Transfer
 
struct  daq::dpm::DaqControllerImpl::Releasing::Transfer
 Rsync transfer of Data Product to a receiver. More...
 

Namespaces

 daq
 
 daq::dpm
 

Functions

std::ostream & daq::dpm::operator<< (std::ostream &os, DaqController const &daq)
 

Detailed Description

daq::dpm::Scheduler and related class declarations.

Definition in file scheduler.hpp.


Class Documentation

◆ daq::dpm::ConcurrencyLimits

struct daq::dpm::ConcurrencyLimits

Imposes limits on how many concurrent operations are allowed.

Definition at line 106 of file scheduler.hpp.

Class Members
unsigned short daq Limits how many DAQs overall can be scheduled concurrently.
unsigned short merge Maximum number of concurrent merge processes.
unsigned short net_receive Maximum number of concurrent input transfers = 0.
unsigned short net_send Maximum number of concurrent output transfers.

◆ daq::dpm::SchedulerOptions

struct daq::dpm::SchedulerOptions

Options controlling scheduler operations.

Limits with value 0 is unlimited.

Definition at line 133 of file scheduler.hpp.

Class Members
struct ConcurrencyLimits concurrency_limits

◆ daq::dpm::SchedulerOptions::ConcurrencyLimits

struct daq::dpm::SchedulerOptions::ConcurrencyLimits

Imposes limits on how many concurrent operations are allowed.

Definition at line 137 of file scheduler.hpp.

Class Members
unsigned short daq Limits how many DAQs overall can be scheduled concurrently.
unsigned short merge Maximum number of concurrent transfers.
unsigned short net_receive Maximum number of concurrent input transfers = 0.
unsigned short net_send Maximum number of concurrent output transfers.

◆ daq::dpm::DaqControllerOptions

struct daq::dpm::DaqControllerOptions

Options for DaqController.

Definition at line 163 of file scheduler.hpp.

Class Members
string merge_bin
string rsync_bin

◆ daq::dpm::Resources

struct daq::dpm::Resources

Limited resources.

Definition at line 171 of file scheduler.hpp.

Class Members
Resource daqs
Resource merge
Resource net_receive
Resource net_send

◆ daq::dpm::ResourcesConnections

struct daq::dpm::ResourcesConnections

Definition at line 178 of file scheduler.hpp.

Class Members
scoped_connection daqs
scoped_connection merge
scoped_connection net_receive
scoped_connection net_send