# CosTransactions_RecoveryCoordinator

### MODULE

CosTransactions_RecoveryCoordinator

### MODULE SUMMARY

This module implements the OMG CosTransactions::RecoveryCoordinator interface.

### DESCRIPTION

To get access to the record definitions for the structures use:
`-include_lib("cosTransactions/include/CosTransactions.hrl").`

### EXPORTS

`replay_completion(RecoveryCoordinator, Timeout, Resource) -> Return`

Types:

`RecoveryCoordinator = #objref`
`Timeout = integer(), milliseconds | 'inifinity'`
`Resource = #objref`
`Return = Status | {'EXCEPTION', E}`
`E = #'CosTransactions_NotPrepared'{}`
`Status = atom()`

The `RecoveryCoordinator` object is returned by the operation `CosTransactions_Coordinator:register_resource/3`. The `replay_completion/2` may only be used by the registered Resource and returns the current status of the transaction. The operation is used when recovering after a failure.

Possible Status replies:

- 'StatusCommitted'
- 'StatusCommitting'
- 'StatusMarkedRollback'
- 'StatusRollingBack'
- 'StatusRolledBack'
- 'StatusActive'
- 'StatusPrepared'
- 'StatusUnknown'
- 'StatusNoTransaction'
- 'StatusPreparing'

| replay_completion/3 is blocking and may cause dead-lock if a child calls this function at the same time as its parent invokes an operation on the child. Dead-lock will not occur if the timeout has any value except 'infinity'. If the call is external incoming (intra-ORB) the timeout will not be activated. Hence, similar action must be taken if the Resource resides on another vendors ORB.

### AUTHORS

support - support@erlang.ericsson.se

cosTransactions 1.2
Copyright © 1991-2006 Ericsson AB