/// <inheritdoc/> public void Enqueue(RunnablePip runnablePip) { Contract.Requires(runnablePip != null); Contract.Assert(runnablePip.DispatcherKind != DispatcherKind.None, "RunnablePip should be associated with a dispatcher kind when it is enqueued"); m_queuesByKind[runnablePip.DispatcherKind].Enqueue(runnablePip); Interlocked.Increment(ref m_numRunningOrQueued); // Let the dispatcher know that there is a new work item enqueued. TriggerDispatcher(); }
/// <summary> /// Notification that the given runnable pip has ended the pip step with the duration taken by that step /// </summary> public virtual void EndStep(RunnablePip runnablePip, PipExecutionStep step, TimeSpan duration) { }
/// <summary> /// Notification that the given runnable pip has started a particular step /// </summary> public virtual void StartStep(RunnablePip runnablePip, PipExecutionStep step) { }
/// <summary> /// Notification that the given runnable pip has ended the pip step with the duration taken by that step /// </summary> public virtual void EndStep(RunnablePip runnablePip) { }
/// <summary> /// Notification that the given runnable pip has started a particular step /// </summary> public virtual void StartStep(RunnablePip runnablePip) { }
/// <summary> /// Gets the logging activity id for the given pip (if specified) /// </summary> public virtual Guid?GetActivityId(RunnablePip runnablePip) { return(null); }