private HalCompletion CreateContinuation(IntPtr Continuation) { HalCompletion halCompletion = null; lock (_completionLookup) { halCompletion = new HalCompletion(this.Emulator, Continuation, this); _completionLookup[Continuation] = halCompletion; } return(halCompletion); }
void ITimeDriver.EnqueueCompletion(IntPtr Completion, uint uSecFromNow) { lock (_completionLookup) { if (!_completionLookup.ContainsKey(Completion)) { HalCompletion halCompletion = CreateContinuation(Completion); this.TimingServices.EnqueueCompletion(halCompletion, uSecFromNow); } } }
private bool RemoveContinuation(IntPtr Continuation, out HalCompletion halCompletion) { bool fRemoved = false; lock (_completionLookup) { if (_completionLookup.TryGetValue(Continuation, out halCompletion)) { _completionLookup.Remove(Continuation); fRemoved = true; } } return(fRemoved); }
void ITimeDriver.EnqueueContinuation(IntPtr Continuation) { lock (_completionLookup) { if (!_completionLookup.ContainsKey(Continuation)) { HalCompletion halCompletion = CreateContinuation(Continuation); halCompletion.EnqueueContinuation(); } else { _completionLookup[Continuation].EnqueueContinuation(); } } }
void ITimeDriver.EnqueueContinuation(IntPtr Continuation) { HalCompletion halCompletion = CreateContinuation(Continuation); halCompletion.EnqueueContinuation(); }
void ITimeDriver.EnqueueCompletion(IntPtr Completion, uint uSecFromNow) { HalCompletion halCompletion = CreateContinuation(Completion); this.TimingServices.EnqueueCompletion(halCompletion, uSecFromNow); }