Class: MRecoverable

Declaration: CcrmRecoverable.h

Taxonomy Categories:

Member Functions:


Interface Category:

API.

Inherits From:

MLockable

Inherited By:

TRecoverableMappedFile

Purpose:

A handle for a class that carries state information for a recoverable entity.

Instantiation:

Allocate on the heap or the stack.

Deriving Classes:

None.

Concurrency:

Not multithread safe.

Resource Use:

No special requirements.

Other Considerations:

None.

Member Function: MRecoverable::Flush

virtual void Flush ()

Interface Category:

API.

Purpose:

Flushes changes made to the file.

Calling Context:

Called by Commit or the application to flush changes made to the file.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: MRecoverable::Commit

virtual void Commit ()

Interface Category:

API.

Purpose:

Commits the changes made to the recoverable entity.

Calling Context:

Called during Commit by the transaction in scope.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: MRecoverable::GetSize

unsigned long GetSize () const

Interface Category:

API.

Purpose:

Gets the recoverable entity's size.

Calling Context:

Called to return the size of the recoverable entity.

Parameters:

Return Value:

The unsigned long size.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: MRecoverable::GetCurrentPosition

unsigned long GetCurrentPosition () const

Interface Category:

API.

Purpose:

Gets the current position in the recoverable entity.

Calling Context:

Called to get the current position/offset of the recoverable entity.

Parameters:

Return Value:

The unsigned long offset.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: MRecoverable::MRecoverable

MRecoverable (unsigned long objectId, unsigned long hashvalue)

Interface Category:

API.

Purpose:

Constructor.

Calling Context:

Called by TRecoverableMappedFile, TRecoverableFileStream, TRecoverableHashTable, and others.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: MRecoverable::~MRecoverable

virtual ~ MRecoverable ()

Interface Category:

API.

Purpose:

Destructor.

Calling Context:

Called to destroy an MRecoverable object.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: MRecoverable::UnDo

virtual void UnDo (TDataLogRecord * logrec)

Interface Category:

API.

Purpose:

Undoes uncommitted change.

Calling Context:

Called upon Rollback to Undo changes made to the object.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Member Function: MRecoverable::ReDo

virtual void ReDo (TDataLogRecord * logrec)

Interface Category:

API.

Purpose:

Redoes uncommitted change.

Calling Context:

Called upon Recovery to Redo uncommitted changes made to the object.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Member Function: MRecoverable::GetNextRecoverable

MRecoverable * GetNextRecoverable ()

Interface Category:

API.

Purpose:

Returns the next recoverable entity in the chain.

Calling Context:

Called to return the next recoverable entity.

Parameters:

Return Value:

MRecoverable Pointer.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Member Function: MRecoverable::SetState

void SetState (MRecoverable :: EState state)

Interface Category:

API.

Purpose:

Sets the state.

Calling Context:

Called to set the state.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Member Function: MRecoverable::GetState

EState GetState () const

Interface Category:

API.

Purpose:

Gets the state of MRecoverable.

Calling Context:

Called to get the state of MRecoverable.

Parameters:

Return Value:

Returns the MRecoverable current state. Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Member Function: MRecoverable::RollBack

virtual void RollBack ()

Interface Category:

API.

Purpose:

Rolls back the changes made to the object.

Calling Context:

Called upon RollBack.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Member Function: MRecoverable::Prepare

virtual EState Prepare ()

Interface Category:

API.

Purpose:

Prepares for Commit, vote for Commit.

Calling Context:

Called by the transaction upon Commit.

Parameters:

Return Value:

Returns the vote.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.
Click the icon to mail questions or corrections about this material to Taligent personnel.
Copyright©1995 Taligent,Inc. All rights reserved.