ifw-daq  3.0.1
IFW Data Acquisition modules
Classes | Public Types | Public Member Functions | List of all members
daq::DpmClientImpl Class Reference

#include <dpmClient.hpp>

+ Inheritance diagram for daq::DpmClientImpl:

Classes

struct  Subscriptions
 

Public Types

using StorageSignal = DpmClient::StorageSignal
 Retry delay when requesting status. More...
 
using StatusSignal = DpmClient::StatusSignal
 
- Public Types inherited from daq::DpmClient
using StorageSignal = boost::signals2::signal< void(std::filesystem::space_info)>
 
using StatusSignal = boost::signals2::signal< void(Status)>
 

Public Member Functions

 DpmClientImpl (boost::asio::io_context &io_ctx, mal::Mal &mal, DpmClientParams params)
 
 ~DpmClientImpl ()
 
virtual auto ScheduleAsync (std::string const &spec) -> boost::future< State > override
 Schedule merging. More...
 
virtual auto AbortAsync (std::string const &id) -> boost::future< State > override
 Abort merging. More...
 
virtual void StartMonitorStatus (std::string const &id) override
 Start monitoring DAQ status. More...
 
virtual void StopMonitorStatus (std::string const &id) override
 Stop monitoring DAQ status. More...
 
virtual auto ConnectStatusSignal (StatusSignal::slot_type const &slot) -> boost::signals2::connection override
 Connect slot to status change signal. More...
 
virtual auto ConnectStorageSignal (StorageSignal::slot_type const &slot) -> boost::signals2::connection override
 Connect slot to storage change signal. More...
 

Detailed Description

Definition at line 99 of file dpmClient.hpp.


Class Documentation

◆ daq::DpmClientImpl::Subscriptions

struct daq::DpmClientImpl::Subscriptions

Definition at line 24 of file dpmClient.cpp.

Class Members
shared_ptr< bool > alive
Subscription< DaqStatus > status
Subscription< StorageStatus > storage

Member Typedef Documentation

◆ StatusSignal

Definition at line 105 of file dpmClient.hpp.

◆ StorageSignal

Retry delay when requesting status.

Definition at line 104 of file dpmClient.hpp.

Constructor & Destructor Documentation

◆ DpmClientImpl()

daq::DpmClientImpl::DpmClientImpl ( boost::asio::io_context &  io_ctx,
mal::Mal &  mal,
DpmClientParams  params 
)

Definition at line 30 of file dpmClient.cpp.

◆ ~DpmClientImpl()

daq::DpmClientImpl::~DpmClientImpl ( )
default

Member Function Documentation

◆ AbortAsync()

auto daq::DpmClientImpl::AbortAsync ( std::string const &  id) -> boost::future<State>
overridevirtual

Abort merging.

Implements daq::DpmClient.

Definition at line 105 of file dpmClient.cpp.

◆ ConnectStatusSignal()

auto daq::DpmClientImpl::ConnectStatusSignal ( StatusSignal::slot_type const &  slot) -> boost::signals2::connection
overridevirtual

Connect slot to status change signal.

DpmClient ensures that signals are only emitted from main thread.

Note
Status may come from different sources and no total order is guaranteed. Observers of status changes should make effort to discard/ignore changes that occurred before already recorded status updated.

Implements daq::DpmClient.

Definition at line 197 of file dpmClient.cpp.

◆ ConnectStorageSignal()

auto daq::DpmClientImpl::ConnectStorageSignal ( StorageSignal::slot_type const &  slot) -> boost::signals2::connection
overridevirtual

Connect slot to storage change signal.

DpmClient ensures that signals are only emitted from main thread.

Implements daq::DpmClient.

Definition at line 202 of file dpmClient.cpp.

◆ ScheduleAsync()

auto daq::DpmClientImpl::ScheduleAsync ( std::string const &  spec) -> boost::future<State>
overridevirtual

Schedule merging.

Implements daq::DpmClient.

Definition at line 96 of file dpmClient.cpp.

◆ StartMonitorStatus()

void daq::DpmClientImpl::StartMonitorStatus ( std::string const &  id)
overridevirtual

Start monitoring DAQ status.

Status is requested:

  • Initially
  • and rescheduled if reply times out (DPM not running)

Changes are reported via the StatusSignal.

Implements daq::DpmClient.

Definition at line 114 of file dpmClient.cpp.

◆ StopMonitorStatus()

void daq::DpmClientImpl::StopMonitorStatus ( std::string const &  id)
overridevirtual

Stop monitoring DAQ status.

Implements daq::DpmClient.

Definition at line 193 of file dpmClient.cpp.


The documentation for this class was generated from the following files: