public void EnqueueDoneEvent(StatenodeId statenodeId)
        {
            var @event = new DoneEvent(statenodeId);

            if (!_queue.Any(queuedEvent => queuedEvent.Match(_ => false, current => current.Event.Equals(@event), _ => false)))
            {
                Enqueue(new CurrentStep(@event));
            }
        }
Exemplo n.º 2
0
        protected ParsedStatenode(
            ParsedStatenode parent,
            string name,
            Option <string> uniqueIdentifier,
            int documentIndex,
            Actionblock entryActions,
            Actionblock exitActions)
        {
            Parent           = parent.ToOption();
            Name             = name;
            UniqueIdentifier = uniqueIdentifier;
            DocumentIndex    = documentIndex;
            EntryActions     = entryActions;
            ExitActions      = exitActions;

            Id    = new StatenodeId(Parent, name);
            Depth = Parent.Map(p => p.Depth + 1).ValueOr(0);
        }
Exemplo n.º 3
0
 public AbsoluteTarget(StatenodeId id) => Id = id;
        public void EnqueueStabilizationEvent(StatenodeId statenodeId)
        {
            var @event = new Stabilization(new InitializeEvent(statenodeId));

            _queue.Enqueue(@event, @event.Priority);
        }
Exemplo n.º 5
0
 public override int GetHashCode() => StatenodeId.GetHashCode();
Exemplo n.º 6
0
 public Entry(StatenodeId statenodeId, string statenodeName)
 {
     StatenodeId   = statenodeId ?? throw new NullReferenceException(nameof(statenodeId));
     StatenodeName = statenodeName;
     Children      = new HashSet <Entry>();
 }