-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adapt to Exceptions being thrown in postRead/postWrite #130
Comments
Do you realy mean overload doPostRead() and doPostWrite() and that without function arguments? |
just updated the ticket description. I certainly did mean 'override' |
I also changed in DeviceAccess device_backends/include/TransferElement.h |
Blocks #131. Make it readyForImplementation when closing this ticket |
The idea with the genericPostAction does not work. You need phase 1 of #138 |
Should we take this back? I think there was a reason to have it private and the implementation does not need it. |
Depends on ChimeraTK/DeviceAccess#117
Child of #123
After the changes in ChimeraTK/DeviceAccess#177 the exceptions are not thrown in
doXxxTransferYyy()
anymore, but inpostRead() and postWrite()
. The ExceptionHandlingDecorator is not working any more because it is still trying to catch in the transfers but not in in the post actions. It needs to be adapted accordingly.The task of this ticket is not to implement the new specification, but to make the ExceptionHandlingDecorator work the same way it did before.
NDRegisterAccessorDecorator<USER_TYPE>::doXxxTransfer()
. Don't remove them, they will be needed later.ExceptionHandlingDecorator::hasSeenException
topreviousReadFailed
. It has a name conflict withTransferElement::hasSeenException
.genericTransfer()
togenericPostAction()
.if(!deviceModule.device.isOpened())
(it becomes obsolete with Re-arrange the DeviceModule loop #129))doGenericPostAction()
should look something like this:override
doPostRead()
anddoPostWrite()
such that they calldoGenericPostAction()
add
waitForRecovery()
todoPreWrite()
(after writing to the recovery accessor, but before calling the inheritedNDRegisterAccessorDecorator<UserType>::doPreWrite()
add an override for
doPreRead()
which doeswaitForRecovery()
and then callsNDRegisterAccessorDecorator<UserType>::doPreRead()
All tests should now pass again without modification
The text was updated successfully, but these errors were encountered: