---
title: Publishers.Timeout
framework: combine
role: symbol
role_heading: Structure
path: combine/publishers/timeout
---

# Publishers.Timeout

A publisher that terminates publishing if the upstream publisher exceeds a specified time interval without producing an element.

## Declaration

```swift
struct Timeout<Upstream, Context> where Upstream : Publisher, Context : Scheduler
```

## Topics

### Creating a timeout publisher

- [init(upstream:interval:scheduler:options:customError:)](combine/publishers/timeout/init(upstream:interval:scheduler:options:customerror:).md)

### Declaring supporting types

- [Publishers.Timeout.Output](combine/publishers/timeout/output.md)
- [Publishers.Timeout.Failure](combine/publishers/timeout/failure.md)

### Inspecting publisher properties

- [upstream](combine/publishers/timeout/upstream.md)
- [interval](combine/publishers/timeout/interval.md)
- [scheduler](combine/publishers/timeout/scheduler.md)
- [options](combine/publishers/timeout/options.md)
- [customError](combine/publishers/timeout/customerror.md)

## Relationships

### Conforms To

- [Publisher](combine/publisher.md)

## See Also

### Controlling timing

- [Publishers.MeasureInterval](combine/publishers/measureinterval.md)
- [Publishers.Debounce](combine/publishers/debounce.md)
- [Publishers.Delay](combine/publishers/delay.md)
- [Publishers.Throttle](combine/publishers/throttle.md)
