ifw-daq 3.1.0
IFW Data Acquisition modules
Loading...
Searching...
No Matches
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 <fmt/ostream.h>
#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...
 
struct  fmt::formatter< T, Char, std::enable_if_t< std::is_convertible_v< T *, daq::dpm::DaqController * > > >
 

Namespaces

namespace  daq
 
namespace  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 107 of file scheduler.hpp.

Class Members
unsigned short daq = 1 Limits how many DAQs overall can be scheduled concurrently.
unsigned short merge = 1 Maximum number of concurrent merge processes.
unsigned short net_receive = 0 Maximum number of concurrent input transfers = 0.
unsigned short net_send = 0 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 134 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 138 of file scheduler.hpp.

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

◆ daq::dpm::DaqControllerOptions

struct daq::dpm::DaqControllerOptions

Options for DaqController.

Definition at line 164 of file scheduler.hpp.

Class Members
string merge_bin = "daqDpmMerge"
string rsync_bin = "rsync"

◆ daq::dpm::Resources

struct daq::dpm::Resources

Limited resources.

Definition at line 172 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 179 of file scheduler.hpp.

Class Members
scoped_connection daqs
scoped_connection merge
scoped_connection net_receive
scoped_connection net_send