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

Adaptions to DeviceAccess #117:

Replaces calls to doXxxTransferYyy of the TransferElement by the
corresponding xxxTransferYyy call
parent f602a0ab
No related branches found
No related tags found
No related merge requests found
......@@ -70,17 +70,17 @@ namespace ChimeraTK {
void doReadTransfer() override {
if(!_withReturn) throw ChimeraTK::logic_error("Read operation called on write-only variable.");
_returnSlave->doReadTransfer();
_returnSlave->readTransfer();
}
bool doReadTransferNonBlocking() override {
if(!_withReturn) throw ChimeraTK::logic_error("Read operation called on write-only variable.");
return _returnSlave->doReadTransferNonBlocking();
return _returnSlave->readTransferNonBlocking();
}
bool doReadTransferLatest() override {
if(!_withReturn) throw ChimeraTK::logic_error("Read operation called on write-only variable.");
return _returnSlave->doReadTransferLatest();
return _returnSlave->readTransferLatest();
}
void doPreRead() override {
......@@ -106,7 +106,7 @@ namespace ChimeraTK {
ChimeraTK::TransferFuture doReadTransferAsync() override {
if(!_withReturn) throw ChimeraTK::logic_error("Read operation called on write-only variable.");
return {_returnSlave->doReadTransferAsync(), this};
return {_returnSlave->readTransferAsync(), this};
}
void doPreWrite() override {
......@@ -135,10 +135,10 @@ namespace ChimeraTK {
bool ret;
if(isFirst) {
isFirst = false;
ret = slave->doWriteTransfer(versionNumber);
ret = slave->writeTransfer(versionNumber);
}
else {
ret = slave->doWriteTransferDestructively(versionNumber);
ret = slave->writeTransferDestructively(versionNumber);
}
if(ret) dataLost = true;
}
......@@ -148,7 +148,7 @@ namespace ChimeraTK {
bool doWriteTransferDestructively(ChimeraTK::VersionNumber versionNumber = {}) override {
bool dataLost = false;
for(auto& slave : FanOut<UserType>::slaves) {
bool ret = slave->doWriteTransferDestructively(versionNumber);
bool ret = slave->writeTransferDestructively(versionNumber);
if(ret) dataLost = true;
}
return dataLost;
......
......@@ -44,14 +44,14 @@ namespace ChimeraTK {
}
bool doWriteTransfer(ChimeraTK::VersionNumber versionNumber = {}) override {
if(!_handleWrite) return _target->doWriteTransfer(versionNumber);
if(!_handleWrite) return _target->writeTransfer(versionNumber);
bool dataLost = false;
if(!Application::testableModeTestLock()) {
// may happen if first write in thread is done before first blocking read
Application::testableModeLock("write " + this->getName());
}
dataLost = _target->doWriteTransfer(versionNumber);
dataLost = _target->writeTransfer(versionNumber);
if(!dataLost) {
++Application::getInstance().testableMode_counter;
++Application::getInstance().testableMode_perVarCounter[_variableIdWrite];
......@@ -74,14 +74,14 @@ namespace ChimeraTK {
}
bool doWriteTransferDestructively(ChimeraTK::VersionNumber versionNumber = {}) override {
if(!_handleWrite) return _target->doWriteTransferDestructively(versionNumber);
if(!_handleWrite) return _target->writeTransferDestructively(versionNumber);
bool dataLost = false;
if(!Application::testableModeTestLock()) {
// may happen if first write in thread is done before first blocking read
Application::testableModeLock("write " + this->getName());
}
dataLost = _target->doWriteTransferDestructively(versionNumber);
dataLost = _target->writeTransferDestructively(versionNumber);
if(!dataLost) {
++Application::getInstance().testableMode_counter;
++Application::getInstance().testableMode_perVarCounter[_variableIdWrite];
......@@ -105,7 +105,7 @@ namespace ChimeraTK {
void doReadTransfer() override {
if(_handleRead) releaseLock();
_target->doReadTransfer();
_target->readTransfer();
}
/** Release the testableModeLock */
......@@ -152,13 +152,13 @@ namespace ChimeraTK {
}
bool doReadTransferNonBlocking() override {
bool newData = _target->doReadTransferNonBlocking();
bool newData = _target->readTransferNonBlocking();
if(!newData) return false;
return true;
}
bool doReadTransferLatest() override {
bool newData = _target->doReadTransferLatest();
bool newData = _target->readTransferLatest();
if(!newData) return false;
// the queue has been emptied, so make sure that the testableMode_counter
......
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