Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        private void SendVote(bool reply, string coordinator)
        {
            CoordinatorInterface coord = (CoordinatorInterface)Activator.GetObject(typeof(CoordinatorInterface), coordinator);

            coord.ReceiveVote(reply);
        }