public static bool TxCommit() { _transactionCoordinatorUrl = _master.GetCoordinator(); if (_transactionCoordinatorUrl == "") { throw new TxException("404 Coordinator not found"); } foreach (PADInt localCopy in _references.Values) { foreach (PADInt original in localCopy.OriginalValues) { if (original != null) { original.temporaryValue(localCopy.TransactioId, localCopy.Value); } } } CoordinatorInterface coordinator = (CoordinatorInterface)Activator.GetObject(typeof(CoordinatorInterface), _transactionCoordinatorUrl); bool final_result = coordinator.TxCommit(_transactionId, _serverList, _timestamp); _master.FinishTransaction(_transactionId); clearVariables(); return(final_result); }
public static bool TxAbort() { _transactionCoordinatorUrl = _master.GetCoordinator(); if (_transactionCoordinatorUrl == "") { throw new TxException("404 Coordinator not found"); } CoordinatorInterface coordinator = (CoordinatorInterface)Activator.GetObject(typeof(CoordinatorInterface), _transactionCoordinatorUrl); bool result = coordinator.TxAbort(_transactionId, _serverList); clearVariables(); return(result); }
private void SendVote(bool reply, string coordinator) { CoordinatorInterface coord = (CoordinatorInterface)Activator.GetObject(typeof(CoordinatorInterface), coordinator); coord.ReceiveVote(reply); }