ifw-daq  2.1.0-pre1
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/dpSpec.hpp>
#include <daq/dpm/sourceResolver.hpp>
#include <daq/process/asyncProcess.hpp>
#include <daq/process/rsyncAsyncProcess.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...
 
class  daq::dpm::ResourceToken
 RAII token. More...
 
class  daq::dpm::Resource
 
struct  daq::dpm::Resources
 Limited resources. More...
 
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::Transferring::Transfer
 

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 105 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 132 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 136 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 162 of file scheduler.hpp.

Class Members
string merge_bin
string rsync_bin

◆ daq::dpm::Resources

struct daq::dpm::Resources

Limited resources.

Definition at line 231 of file scheduler.hpp.

Class Members
Resource daqs
Resource merge
Resource net_receive
Resource net_send