We have to add three more functions to eXtensible Transaction Manager API (XTM):
/* * Calculate transaction state size. This method is invoked by EstimateTransactionStateSpace to copy transaction * state to parallel workers */ size_t (*GetTransactionStateSize)(void);
/* * Serialize transaction state */ void (*SerializeTransactionState)(void* ctx);
/* * Deserialize transaction state */ void (*DeserializeTransactionState)(void* ctx);
In above proposal, are you suggesting to change the existing API's as well, because the parameters of function pointers don't match with exiting API's. I think it is better to consider this along with the overall XTM API.