---
title: DispatchSourceUserDataOr
framework: dispatch
role: symbol
role_heading: Protocol
path: dispatch/dispatchsourceuserdataor
---

# DispatchSourceUserDataOr

A dispatch source that coalesces data you provide using an OR operation.

## Declaration

```swift
protocol DispatchSourceUserDataOr : DispatchSourceProtocol, Sendable
```

## Overview

Overview You do not adopt this protocol in your objects. Instead, use the makeUserDataOrSource(queue:) method to create an object that adopts this protocol. To add custom data to the dispatch source, call the or(data:) method.

## Topics

### Getting the Event Data

- [or(data:)](dispatch/dispatchsourceuserdataor/or(data:).md)

## Relationships

### Inherits From

- [DispatchSourceProtocol](dispatch/dispatchsourceprotocol.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

### Conforming Types

- [DispatchSource](dispatch/dispatchsource.md)

## See Also

### Creating a Custom Source

- [makeUserDataAddSource(queue:)](dispatch/dispatchsource/makeuserdataaddsource(queue:).md)
- [makeUserDataOrSource(queue:)](dispatch/dispatchsource/makeuserdataorsource(queue:).md)
- [makeUserDataReplaceSource(queue:)](dispatch/dispatchsource/makeuserdatareplacesource(queue:).md)
- [DispatchSourceUserDataAdd](dispatch/dispatchsourceuserdataadd.md)
- [DispatchSourceUserDataReplace](dispatch/dispatchsourceuserdatareplace.md)
