示例#1
0
        /// <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();
        }
示例#2
0
 /// <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)
 {
 }
示例#3
0
 /// <summary>
 /// Notification that the given runnable pip has started a particular step
 /// </summary>
 public virtual void StartStep(RunnablePip runnablePip, PipExecutionStep step)
 {
 }
示例#4
0
 /// <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)
 {
 }
示例#5
0
 /// <summary>
 /// Notification that the given runnable pip has started a particular step
 /// </summary>
 public virtual void StartStep(RunnablePip runnablePip)
 {
 }
示例#6
0
 /// <summary>
 /// Gets the logging activity id for the given pip (if specified)
 /// </summary>
 public virtual Guid?GetActivityId(RunnablePip runnablePip)
 {
     return(null);
 }