ChimeraTK-ApplicationCore 04.06.00
Loading...
Searching...
No Matches
RecoveryHelper.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Deutsches Elektronen-Synchrotron DESY, MSK, ChimeraTK Project <chimeratk-support@desy.de>
2// SPDX-License-Identifier: LGPL-3.0-or-later
3#pragma once
4
5#include <ChimeraTK/TransferElement.h>
6
7#include <utility>
8
9namespace ChimeraTK {
10
16 enum class Direction { fromDevice, toDevice };
17 boost::shared_ptr<TransferElement> accessor;
18 VersionNumber versionNumber;
19 uint64_t writeOrder{0};
20 bool wasWritten{false};
21 cppext::future_queue<void> notificationQueue;
23
24 explicit RecoveryHelper(boost::shared_ptr<TransferElement> a, VersionNumber v = VersionNumber(nullptr),
25 uint64_t order = 0, Direction direction = Direction::toDevice)
26 : accessor(std::move(a)), versionNumber(v), writeOrder(order), recoveryDirection(direction) {}
27
28 RecoveryHelper() = default;
29 };
30
31} // end of namespace ChimeraTK
InvalidityTracer application module.
A Helper struct to store an accessor and a version number.
RecoveryHelper(boost::shared_ptr< TransferElement > a, VersionNumber v=VersionNumber(nullptr), uint64_t order=0, Direction direction=Direction::toDevice)
boost::shared_ptr< TransferElement > accessor
cppext::future_queue< void > notificationQueue