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);
        }
 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);
 }