public override void Complete() { if (IsCompleted()) { // complete() was called more than once IMessage @event = new DefaultEvent("CAT", "BadInstrument") { Status = "TransactionAlreadyCompleted" }; @event.Complete(); AddChild(@event); } else { _mDurationInMicro = MilliSecondTimer.CurrentTimeMicros() - TimestampInMicros; SetCompleted(true); if (_messageManager != null) { _messageManager.End(this); } } }
public void Bind(string tag, string childMessageId, string title = null) { IEvent @event = new DefaultEvent(PureCatConstants.TYPE_REMOTE_CALL, "Tagged"); @event.AddData(childMessageId, title ?? $"{Type}:{Name}"); @event.Timestamp = Timestamp; @event.Status = PureCatConstants.SUCCESS; @event.Complete(); AddChild(@event); }
private void MarkAsNotCompleted(DefaultTransaction transaction) { IEvent notCompleteEvent = new DefaultEvent("CAT", "BadInstrument") { Status = "TransactionNotCompleted" }; notCompleteEvent.Complete(); transaction.AddChild(notCompleteEvent); transaction.Complete(); }
internal void LinkAsRunAway(DefaultMessageManager manager, IForkedTransaction transaction) { IEvent @event = new DefaultEvent(PureCatConstants.TYPE_REMOTE_CALL, "RunAway"); @event.AddData(transaction.ForkedMessageId, $"{transaction.Type}:{transaction.Name}"); @event.Timestamp = transaction.Timestamp; @event.Status = PureCatConstants.SUCCESS; @event.Complete(); transaction.Standalone = true; manager.Add(@event); }
public override void Complete() { if (IsCompleted()) { // complete() was called more than once IMessage @event = new DefaultEvent("CAT", "BadInstrument") { Status = "TransactionAlreadyCompleted" }; @event.Complete(); AddChild(@event); } else { _mDurationInMicro = MilliSecondTimer.CurrentTimeMicros - TimestampInMicros; SetCompleted(true); if (_messageManager != null) { _messageManager.End(this); } } }