libs-base/Source/GSTimeoutSource.h

34 lines
709 B
Objective-C

#ifndef INCLUDED_GSTIMEOUTSOURCE_H
#define INCLUDED_GSTIMEOUTSOURCE_H
#import "common.h"
#import "GSDispatch.h"
/*
* A helper class that wraps a libdispatch timer.
*
* Used to implement the timeout of `GSMultiHandle` and `GSEasyHandle`
*/
@interface GSTimeoutSource : NSObject
{
dispatch_source_t _rawSource;
NSInteger _milliseconds;
dispatch_queue_t _queue;
dispatch_block_t _handler;
}
- (void) cancel;
- (NSInteger) milliseconds;
- (dispatch_queue_t) queue;
- (dispatch_block_t) handler;
- (instancetype) initWithQueue: (dispatch_queue_t)queue
milliseconds: (NSInteger)milliseconds
handler: (dispatch_block_t)handler;
@end
#endif