public void DoLater(int priority, DoLaterCallback dlcb, Object parms) { DoLaterBase newDoer = new DoLaterDelegateCaller(dlcb, parms); newDoer.priority = priority; this.DoLater(newDoer); }
// do the item but do the delay first. This puts it in the wait queue and it will // get done after the work item delay. public void DoLaterInitialDelay(DoLaterCallback dlcb, Object parms) { DoLaterBase w = new DoLaterDelegateCaller(dlcb, parms); w.containingClass = this; w.remainingWait = 0; // the first time through, do it now w.timesRequeued = 0; DoItEvenLater(w); }
/// <summary> /// Experimental, untested entry which doesn't force the caller to create an /// instance of a DoLaterBase class but to use s delegate. The calling sequence /// would be something like: /// m_workQueue.DoLater((DoLaterCallback)delegate() { /// return LocalMethod(localParam1, localParam2, ...); /// }); /// </summary> /// <param name="dlcb"></param> public void DoLater(DoLaterCallback dlcb, Object parms) { this.DoLater(new DoLaterDelegateCaller(dlcb, parms)); }
public DoLaterDelegateCaller(DoLaterCallback dlcb, Object parms) : base() { m_dlcb = dlcb; m_parameters = parms; }