---
title: Subscription
framework: combine
role: symbol
role_heading: Protocol
path: combine/subscription
---

# Subscription

A protocol representing the connection of a subscriber to a publisher.

## Declaration

```swift
protocol Subscription : Cancellable, CustomCombineIdentifierConvertible
```

## Mentioned in

Processing Published Elements with Subscribers Receiving and Handling Events with Combine

## Overview

Overview Subscriptions are class constrained because a Subscription has identity, defined by the moment in time a particular subscriber attached to a publisher. Canceling a Subscription must be thread-safe. You can only cancel a Subscription once. Canceling a subscription frees up any resources previously allocated by attaching the Subscriber.

## Topics

### Requesting elements

- [request(_:)](combine/subscription/request(_:).md)
- [Subscribers.Demand](combine/subscribers/demand.md)

## Relationships

### Inherits From

- [Cancellable](combine/cancellable.md)
- [CustomCombineIdentifierConvertible](combine/customcombineidentifierconvertible.md)

## See Also

### Subscribers

- [Processing Published Elements with Subscribers](combine/processing-published-elements-with-subscribers.md)
- [Subscriber](combine/subscriber.md)
- [Subscribers](combine/subscribers.md)
- [AnySubscriber](combine/anysubscriber.md)
- [Subscriptions](combine/subscriptions.md)
