---
title: IOTimerDispatchSource
framework: driverkit
role: symbol
role_heading: Class
path: driverkit/iotimerdispatchsource
---

# IOTimerDispatchSource

A dispatch source that notifies your driver at a specific time.

## Declaration

```occ
class IOTimerDispatchSource;
```

## Overview

Overview An IOTimerDispatchSource object executes an associated action at a designated time. After configuring the dispatch source object, call the WakeAtTime method to schedule the time at which to execute your code. There are several timebases you can use to configure the timer, but the most common one is kIOTimerClockMachAbsoluteTime.

## Topics

### Configuring the Timer Source

- [Create](driverkit/iotimerdispatchsource/create.md)
- [init](driverkit/iotimerdispatchsource/init.md)
- [free](driverkit/iotimerdispatchsource/free.md)
- [SetHandler](driverkit/iotimerdispatchsource/sethandler.md)

### Rescheduling the Timer

- [WakeAtTime](driverkit/iotimerdispatchsource/wakeattime.md)
- [Clock Types](driverkit/3242783-clock_types.md)

### Starting and Stopping the Timer Source

- [SetEnableWithCompletion](driverkit/iotimerdispatchsource/setenablewithcompletion.md)
- [Cancel](driverkit/iotimerdispatchsource/cancel.md)

### Declaring Actions

- [TimerOccurred](driverkit/iotimerdispatchsource/timeroccurred.md)
- [CheckForWork](driverkit/iotimerdispatchsource/checkforwork.md)

## Relationships

### Inherits From

- [IODispatchSource](driverkit/iodispatchsource.md)

## See Also

### Event management

- [IODispatchQueue](driverkit/iodispatchqueue.md)
- [IOInterruptDispatchSource](driverkit/iointerruptdispatchsource.md)
- [IODataQueueDispatchSource](driverkit/iodataqueuedispatchsource.md)
- [IODispatchSource](driverkit/iodispatchsource.md)
- [OSAction](driverkit/osaction.md)
