Interface managing backward strategies. More...
#include <arcane/core/IBackwardMng.h>
Public Types | |
| enum | eAction { Save , Restore } |
Public Member Functions | |
| virtual void | init ()=0 |
| Initialization of the backward manager. | |
| virtual void | beginAction ()=0 |
| Indicates that the save/restore actions have started. | |
| virtual bool | checkAndApplyRestore ()=0 |
| Checks and applies restoration if necessary. | |
| virtual bool | checkAndApplySave (bool is_forced)=0 |
| Checks and applies variable saving if necessary. If is_forced is true, forces the save. | |
| virtual void | endAction ()=0 |
| Indicates that the save/restore actions are finished. | |
| virtual void | setSavePeriod (Integer n)=0 |
| virtual Integer | savePeriod () const =0 |
| virtual void | goBackward ()=0 |
| Signals that a backward rollback is desired. | |
| virtual bool | isLocked () const =0 |
| Indicates if the backward rollback saves are locked. | |
| virtual bool | isBackwardEnabled () const =0 |
| Indicates if a backward rollback is scheduled. | |
| virtual void | clear ()=0 |
| Deletes resources associated with the backward rollback. | |
Interface managing backward strategies.
This interface is used by ITimeLoopMng to manage backward rollback. The principle of backward rollback is to save at a given iteration the values of the variables in order to be able to return to this iteration, for example, in case of a calculation problem.
It is possible to set a specific instance via ITimeLoopMng::setBackwardMng();
The sequence of operations, performed at the end of each iteration, is managed by the ITimeLoopMng instance. It is as follows:
Definition at line 53 of file IBackwardMng.h.
| Enumerator | |
|---|---|
| Save | Save. |
| Restore | Restore. |
Definition at line 58 of file IBackwardMng.h.
|
pure virtual |
Indicates that the save/restore actions have started.
Implemented in Arcane::DefaultBackwardMng.
|
pure virtual |
Checks and applies restoration if necessary.
| true | if a restoration is performed. |
Implemented in Arcane::DefaultBackwardMng.
|
pure virtual |
Checks and applies variable saving if necessary. If is_forced is true, forces the save.
| true | if a save is performed. |
Implemented in Arcane::DefaultBackwardMng.
|
pure virtual |
Deletes resources associated with the backward rollback.
This method is called to deallocate resources such as variable saves. This method is called among other things before a load balancing because it will not be possible to perform a backward rollback before this balancing.
Implemented in Arcane::DefaultBackwardMng.
|
pure virtual |
Indicates that the save/restore actions are finished.
Implemented in Arcane::DefaultBackwardMng.
|
pure virtual |
Signals that a backward rollback is desired.
The backward rollback will occur when checkAndApplyRestore() is called.
Generally, this method should not be called directly but rather ITimeLoopMng::goBackward().
From the call to this method until the effective action of the backward rollback when calling checkAndApplyRestore(), isBackwardEnabled() returns true.
Implemented in Arcane::DefaultBackwardMng.
|
pure virtual |
Initialization of the backward manager.
Implemented in Arcane::DefaultBackwardMng.
|
pure virtual |
Indicates if a backward rollback is scheduled.
Implemented in Arcane::DefaultBackwardMng.
|
pure virtual |
Indicates if the backward rollback saves are locked.
isLocked() is true if it is not possible to perform a save. This is the case, for example, when a backward rollback has been performed at iteration M to iteration N and we have not yet returned to iteration M.
Implemented in Arcane::DefaultBackwardMng.