Skip to content
Snippets Groups Projects
Commit 83c61dda authored by Christoph Kampmeyer's avatar Christoph Kampmeyer
Browse files

wip: FeedingFanOut adapted to TransferElement API changes

parent d5ab1447
No related branches found
No related tags found
No related merge requests found
...@@ -177,10 +177,10 @@ namespace ChimeraTK { ...@@ -177,10 +177,10 @@ namespace ChimeraTK {
return dataLost; return dataLost;
} }
void doPostWrite(TransferType type, bool dataLost) override { void doPostWrite(TransferType type, VersionNumber versionNumber) override {
RuntimeErrorCollector ec; RuntimeErrorCollector ec;
for(auto& slave : FanOut<UserType>::slaves) { for(auto& slave : FanOut<UserType>::slaves) {
ec.wrap([&] { slave->postWrite(type, dataLost); }); ec.wrap([&] { slave->postWrite(type, versionNumber); });
} }
FanOut<UserType>::slaves.front()->accessChannel(0).swap(ChimeraTK::NDRegisterAccessor<UserType>::buffer_2D[0]); FanOut<UserType>::slaves.front()->accessChannel(0).swap(ChimeraTK::NDRegisterAccessor<UserType>::buffer_2D[0]);
...@@ -205,16 +205,8 @@ namespace ChimeraTK { ...@@ -205,16 +205,8 @@ namespace ChimeraTK {
/// @todo implement properly? /// @todo implement properly?
} }
AccessModeFlags getAccessModeFlags() const override { return {AccessMode::wait_for_new_data}; }
VersionNumber getVersionNumber() const override { return FanOut<UserType>::slaves.front()->getVersionNumber(); }
boost::shared_ptr<ChimeraTK::NDRegisterAccessor<UserType>> getReturnSlave() { return _returnSlave; } boost::shared_ptr<ChimeraTK::NDRegisterAccessor<UserType>> getReturnSlave() { return _returnSlave; }
void setDataValidity(DataValidity valid = DataValidity::ok) override { validity = valid; }
DataValidity dataValidity() const override { return validity; }
void interrupt() override { void interrupt() override {
// call the interrut sequences of the fan out (interrupts for fan input and all outputs), and the ndRegisterAccessor // call the interrut sequences of the fan out (interrupts for fan input and all outputs), and the ndRegisterAccessor
FanOut<UserType>::interrupt(); FanOut<UserType>::interrupt();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment