Esempio n. 1
0
 public void EventHandle(TxUnitSnapshot <TInput> state, UnitFinishedEvent evt)
 {
     if (!state.RequestDict.TryRemove(evt.TxId, out var _))
     {
         throw new ArgumentOutOfRangeException(evt.TxId);
     }
 }
Esempio n. 2
0
 public void EventHandle(TxUnitSnapshot <TInput> state, UnitCommitedEvent evt)
 {
     if (!state.RequestDict.TryGetValue(evt.TxId, out var commit))
     {
         throw new ArgumentOutOfRangeException(evt.TxId);
     }
     commit.Status = TransactionStatus.Commited;
 }
Esempio n. 3
0
        public void EventHandle(TxUnitSnapshot <TInput> state, UnitCommitEvent evt)
        {
            var data = this.serializer.Deserialize <TInput>(evt.Data);

            if (!state.RequestDict.TryAdd(evt.TxId, new DTxCommit <TInput>
            {
                TxId = evt.TxId,
                Data = data,
                Status = TransactionStatus.WaitingCommit,
                Timestamp = evt.StartTime
            }))
            {
                throw new ArgumentOutOfRangeException(evt.TxId);
            }
        }