//remove a particular listener from call list public void Removeistener(ITimerListener obs) { try { _listeners.Remove(obs); }catch(Exception e){} }
/// <summary> /// Add a <see cref="ITimerListener"/> that will be executed until it is garbage collected or removed by clearing the returned <see cref="TimerReference"/>. /// NOTE: It is the responsibility of code that adds a listener via this method to clear this listener when completed. /// </summary> /// <param name="listener">ITimerListener implementation that will be triggered according to its <see cref="ITimerListener.GetIntervalTimeInMilliseconds()"/> method implementation.</param> /// <returns>The reference which can be used to stop the timer.</returns> public TimerReference AddTimerListener(ITimerListener listener) { Timer timer = new Timer( state => { try { listener.Tick(); } catch (Exception e) { Logger.ErrorException("Failed while ticking TimerListener", e); } }, null, listener.IntervalTimeInMilliseconds, listener.IntervalTimeInMilliseconds); return new TimerReference(listener, timer); }
//remove listener from report list public void ClearListener(ITimerListener obs) { _listeners.Clear(); }
//add a listener to be called when event happens public void AddListener(ITimerListener obs) { _listeners.Add(obs); }
internal static void Register(ITimerListener obj, int interval) { clients.Add(new Client {Object = obj, Interval = interval}); }
public TimerReference AddListener(ITimerListener collapseTask) { return(Timer.AddTimerListener(collapseTask)); }
public void RegisterTickListener(ITimerListener listener) { timer.Tick += listener.OnTimerTick; }
public TimerReference(ITimerListener listener, TimeSpan period) { _listener = listener; _tokenSource = new CancellationTokenSource(); _period = period; }
public TimerReference AddListener(ITimerListener collapseTask) { return HystrixTimer.Instance.AddTimerListener(collapseTask); }
/// <summary> /// Stops the timer. /// </summary> public void Clear() { this.Listener = null; this.timer.Dispose(); }
/// <summary> /// Initializes a new instance of the <see cref="TimerReference"/> class. /// </summary> /// <param name="listener">The listener to call repeatedly.</param> /// <param name="timer">The running background timer.</param> public TimerReference(ITimerListener listener, Timer timer) { this.timer = timer; this.Listener = listener; }
public TimerReference AddListener(ITimerListener collapseTask) { return(HystrixTimer.Instance.AddTimerListener(collapseTask)); }