session-ios/Signal/src/util/TimeUtil.h
Craig Gidney ced4fc8947 Initial work to depend on external futures library instead of internal implementation
Still need to:
- Fix indentation
- Check for any FutureSource being returned instead of FutureSource.future
- Check for then: vs thenTry: mixups
- Check for main thread related issues
- Check for other exception catching issues
- Adjust directory layout
- Manual end-to-end testing
2014-08-20 08:08:32 -04:00

38 lines
1.3 KiB
Objective-C

#import <Foundation/Foundation.h>
#import "Terminable.h"
#import "CollapsingFutures.h"
#import "Operation.h"
@interface TimeUtil : NSObject
+(NSTimeInterval) time;
/// Result has type Future(TypeOfValueReturnedByFunction)
+(TOCFuture*) scheduleEvaluate:(Function)function
afterDelay:(NSTimeInterval)delay
onRunLoop:(NSRunLoop*)runLoop
unlessCancelled:(TOCCancelToken*)unlessCancelledToken;
/// Result has type Future(TypeOfValueReturnedByFunction)
+(TOCFuture*) scheduleEvaluate:(Function)function
at:(NSDate*)date
onRunLoop:(NSRunLoop*)runLoop
unlessCancelled:(TOCCancelToken*)unlessCancelledToken;
+(void) scheduleRun:(Action)action
afterDelay:(NSTimeInterval)delay
onRunLoop:(NSRunLoop*)runLoop
unlessCancelled:(TOCCancelToken*)unlessCancelledToken;
+(void) scheduleRun:(Action)action
at:(NSDate*)date
onRunLoop:(NSRunLoop*)runLoop
unlessCancelled:(TOCCancelToken*)unlessCancelledToken;
+(void) scheduleRun:(Action)action
periodically:(NSTimeInterval)interval
onRunLoop:(NSRunLoop*)runLoop
untilCancelled:(TOCCancelToken*)untilCancelledToken
andRunImmediately:(BOOL)shouldRunImmediately;
@end