
On Sun, Feb 14, 2010 at 6:53 PM, vicente.botet <vicente.botet@wanadoo.fr> wrote:
Hi, here they are some of operations I need
void rollback(); | void abort(); void rollback_only(); | void force_to_abort();
Can you clarify the difference between these two?
void restart();
bool is_top_level(); transaction_state status(); where enum transaction_state { active, marked_roolback_only, | forced_to_abort prepared, committed, rolledback, preparing, committing, rollingback ... };
If you are expecting the TM used in common among all libraries to support these states, then you have to clarify what these states mean, and how they apply to the interaction between the TM and the RM of Boost.STM. Have you considered the possibility that some of these states might be needed only on the STM-specific transaction data, tracked interanlly. I am guessing that marked_rollback_only, preparing, committing, and rollingback might all be statuses which you don't have to expose in your interaction with the TM. Thanks, - Bob