Containment Domains C++ API  0.1
Containment Domains C++ API v0.1
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Groups Pages
Functions
Internal Functions for Customizable Recovery

Functions

virtual bool CDInternalPtr::InternalCanRecover (uint error_name_mask, unit error_location_mask)
 Method to test if this CD can recover from an error/location mask. More...
 
virtual void CDInternalPtr::InternalReexecute ()
 Reexecute-style default recovery. More...
 
virtual void CDInternalPtr::InternalEscalate (uint error_name_mask, unit error_location_mask, std::vector< SysErrT > errorsuint error_name_mask,)
 Escalate error/failure to parent. More...
 

Detailed Description

Function Documentation

virtual bool CDInternalPtr::InternalCanRecover ( uint  error_name_mask,
unit  error_location_mask 
)
virtual

Method to test if this CD can recover from an error/location mask.

Returns
Returns true is can recover and false otherwise.
See also
Create(), SysErrNameT, SysErrLocT
Parameters
[in]error_name_maskMask of all error/fail types that require recovery
[in]error_location_maskMask of all error/fail locations that require recovery
virtual void CDInternalPtr::InternalEscalate ( uint  error_name_mask,
unit  error_location_mask,
std::vector< SysErrT > errorsuint  error_name_mask 
)
virtual

Escalate error/failure to parent.

Internal method used by Recover() to escalate errors/failures that cannot be handled.

Parameters
[in]error_name_maskMask of all error/fail types that require recovery
[in]error_location_maskMask of all error/fail locations that require recovery
[in]error_name_maskErrors/failures to recover from (typically just one).
virtual void CDInternalPtr::InternalReexecute ( )
virtual

Reexecute-style default recovery.

Default recovery method of reexecuting the CD while restoring data as execution proceeds through Preserve() calls. The alternative is to have an explicit restore phase that restores all the data, but that places constraints on overlapping regions of preservation intermixed with modifications and requires more sophisticated metadata.

Todo:
Discuss other aspects of reexecution (e.g., logging). [FIXME] Discuss other aspects of reexecution (e.g., logging).