---
title: Publishers.Buffer
framework: combine
role: symbol
role_heading: Structure
path: combine/publishers/buffer
---

# Publishers.Buffer

A publisher that buffers elements from an upstream publisher.

## Declaration

```swift
struct Buffer<Upstream> where Upstream : Publisher
```

## Topics

### Creating a buffer publisher

- [init(upstream:size:prefetch:whenFull:)](combine/publishers/buffer/init(upstream:size:prefetch:whenfull:).md)

### Declaring supporting types

- [Publishers.Buffer.Output](combine/publishers/buffer/output.md)
- [Publishers.Buffer.Failure](combine/publishers/buffer/failure.md)

### Inspecting publisher properties

- [upstream](combine/publishers/buffer/upstream.md)
- [size](combine/publishers/buffer/size.md)
- [prefetch](combine/publishers/buffer/prefetch.md)
- [whenFull](combine/publishers/buffer/whenfull.md)

## Relationships

### Conforms To

- [Publisher](combine/publisher.md)

## See Also

### Buffering elements

- [Publishers.BufferingStrategy](combine/publishers/bufferingstrategy.md)
- [Publishers.PrefetchStrategy](combine/publishers/prefetchstrategy.md)
