public RateLimitAwaiter( IRateLimitCacheManager rateLimitCacheManager, ITaskDelayer taskDelayer, IWeakEvent <EventHandler <QueryAwaitingEventArgs> > queryAwaitingForRateLimitWeakEvent) { _rateLimitCacheManager = rateLimitCacheManager; _taskDelayer = taskDelayer; _queryAwaitingForRateLimitWeakEvent = queryAwaitingForRateLimitWeakEvent; }
public RateLimitAwaiter( ICredentialsAccessor credentialsAccessor, IRateLimitCacheManager rateLimitCacheManager, IThreadHelper threadHelper, IWeakEvent <EventHandler <QueryAwaitingEventArgs> > queryAwaitingForRateLimitWeakEvent) { _credentialsAccessor = credentialsAccessor; _rateLimitCacheManager = rateLimitCacheManager; _threadHelper = threadHelper; _queryAwaitingForRateLimitWeakEvent = queryAwaitingForRateLimitWeakEvent; }
public RateLimitAwaiter( ICredentialsAccessor credentialsAccessor, IRateLimitCacheManager rateLimitCacheManager, IThreadHelper threadHelper, IWeakEvent<EventHandler<QueryAwaitingEventArgs>> queryAwaitingForRateLimitWeakEvent) { _credentialsAccessor = credentialsAccessor; _rateLimitCacheManager = rateLimitCacheManager; _threadHelper = threadHelper; _queryAwaitingForRateLimitWeakEvent = queryAwaitingForRateLimitWeakEvent; }
public static Function <T2> CreateFunction <T1, T2>(IWeakEvent trigger, T1 target, Func <T1, T2> getter) { return(new Function <T2>(trigger.AsOne().ToArray(), target, x => getter((T1)x))); }
public Function <TV> AddEvent(IWeakEvent trigger) { trigger.AddReceiver(_receiver); return(this); }
private void Unadvise(IWeakEvent iWeakEvent) { iWeakEvent.RemoveReceiver(trigger); }
private void Advise(IWeakEvent iWeakEvent) { iWeakEvent.AddReceiver(trigger); }
public AutoCollection <T> UpdateOn(IWeakEvent trigger) { Contract.IsNotNull(trigger); trigger.AddReceiver(_updateAllCollection); return(this); }