---
title: BufferSizeError
summary: Insufficient buffer size error.
url: https://www.fastly.com/documentation/reference/compute/sdks/rust/fastly/error/struct.BufferSizeError/
---

**Kind:** Struct  
**Module:** [error](https://www.fastly.com/documentation/reference/compute/sdks/rust/fastly/error/)  
**Package:** fastly 0.13.1  
**Source:** https://docs.rs/crate/fastly/0.13.1/source/src/error.rs#54

```rust
pub struct BufferSizeError {
    pub buf_size: usize,
    pub needed_buf_size: usize,
    pub buffer_kind: BufferKind,
}
```

Insufficient buffer size error.

This is returned by methods like
[`RequestHandle::get_header_names()`](https://www.fastly.com/documentation/reference/compute/sdks/rust/fastly/handle/struct.RequestHandle/#method-get_header_names) if a
value was larger than the provided maximum size.

If you get such an error, you can try the same call again with a larger buffer.

## Fields

### buf_size

**Type:** `usize`

The attempted buffer size.

This is to help make nicer error messages.

### needed_buf_size

**Type:** `usize`

The buffer size that was required.

Trying an operation again with a buffer at least this big may succeed where a previous call
failed. However, it is not guaranteed to succeed, for example if there is an even larger
value later in the list than the first value that was too large.

### buffer_kind

**Type:** `BufferKind`

The buffer kind whose size was insufficient.

## Trait implementations

### impl Clone for BufferSizeError

#### clone

**Source:** https://docs.rs/crate/fastly/0.13.1/source/src/error.rs#52

```rust
fn clone(&self) -> Self
```

**Parameters**

- `self`: `&Self`

**Returns**

`Self`

### impl Debug for BufferSizeError

#### fmt

**Source:** https://docs.rs/crate/fastly/0.13.1/source/src/error.rs#52

```rust
fn fmt(&self, f: &mut Formatter<'_>) -> Result
```

**Parameters**

- `self`: `&Self`
- `f`: `&mut $crate::fmt::Formatter`

**Returns**

`$crate::fmt::Result`

### impl Display for BufferSizeError

#### fmt

**Source:** https://docs.rs/crate/fastly/0.13.1/source/src/error.rs#52

```rust
fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result
```

**Parameters**

- `self`: `&Self`
- `__formatter`: `&mut ::core::fmt::Formatter`

**Returns**

`::core::fmt::Result`

### impl PartialEq for BufferSizeError

#### eq

**Source:** https://docs.rs/crate/fastly/0.13.1/source/src/error.rs#52

```rust
fn eq(&self, other: &Self) -> bool
```

**Parameters**

- `self`: `&Self`
- `other`: `&Self`

**Returns**

`bool`

## Auto trait implementations

- `Freeze`
- `RefUnwindSafe`
- `Send`
- `Sync`
- `Unpin`
- `UnsafeUnpin`
- `UnwindSafe`

## Blanket implementations

- `Any`
- `Borrow<T>`
- `BorrowMut<T>`
- `CloneToUninit`
- `Downcast`
- `DowncastSync`
- `Equivalent<K>`
- `ErasedDestructor`
- `From<T>`
- `Into<U>`
- `IntoEither`
- `Same`
- `ToOwned`
- `ToString`
- `TryFrom<U>`
- `TryInto<U>`
