---
title: "init(upstream:size:prefetch:whenFull:)"
framework: combine
role: symbol
role_heading: Initializer
path: "combine/publishers/buffer/init(upstream:size:prefetch:whenfull:)"
---

# init(upstream:size:prefetch:whenFull:)

Creates a publisher that buffers elements received from an upstream publisher.

## Declaration

```swift
init(upstream: Upstream, size: Int, prefetch: Publishers.PrefetchStrategy, whenFull: Publishers.BufferingStrategy<Publishers.Buffer<Upstream>.Failure>)
```

## Parameters

- `upstream`: The publisher from which this publisher receives elements.
- `size`: The maximum number of elements to store.
- `prefetch`: The strategy for initially populating the buffer.
- `whenFull`: The action to take when the buffer becomes full.
