# PooledBuffer

Package: [Microsoft.Orleans.Serialization](/orleans/docs/api/csharp/microsoft.orleans.serialization/) 10.0.0

[NuGet package](https://www.nuget.org/packages/Microsoft.Orleans.Serialization) | [Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Buffers/PooledBuffer.cs#L22)

```csharp
[Orleans.Immutable]
public struct PooledBuffer : IBufferWriter<byte>, IDisposable
```

A `System.Buffers.IBufferWriter-1` implementation implemented using pooled arrays which is specialized for creating `System.Buffers.ReadOnlySequence-1` instances.

## Constructors

- [PooledBuffer](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.pooledbuffer/constructors/constructor-1a41b6d3/)

## Properties

- [Length](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.pooledbuffer/properties/length-a191f5e6/)
- [MemorySegments](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.pooledbuffer/properties/memorysegments-0df6ac53/)

## Methods

- [Advance(int)](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.pooledbuffer/methods/advance-int-39f52e20/)
- [AsReadOnlySequence](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.pooledbuffer/methods/asreadonlysequence-251c8256/)
- [CopyTo(Span&lt;byte&gt;)](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.pooledbuffer/methods/copyto-system-span-byte-de39a79b/)
- [CopyTo(TBufferWriter)](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.pooledbuffer/methods/copyto-1-ref-tbufferwriter-d7d15908/)
- [CopyTo(Writer&lt;TBufferWriter&gt;)](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.pooledbuffer/methods/copyto-1-ref-orleans-serialization-buffers-writer-tbufferwriter-d7f03595/)
- [Dispose](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.pooledbuffer/methods/dispose-14afdca3/)
- [GetMemory(int)](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.pooledbuffer/methods/getmemory-int-1bb3b5da/)
- [GetSpan(int)](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.pooledbuffer/methods/getspan-int-c98bad48/)
- [Reset](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.pooledbuffer/methods/reset-731d2061/)
- [Slice](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.pooledbuffer/methods/slice-f5130950/)
- [Slice(int)](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.pooledbuffer/methods/slice-int-901bdcc0/)
- [Slice(int, int)](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.pooledbuffer/methods/slice-int-int-8f45c54d/)
- [ToArray](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.pooledbuffer/methods/toarray-938d787e/)
- [Write(ReadOnlySequence&lt;byte&gt;)](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.pooledbuffer/methods/write-system-buffers-readonlysequence-byte-af0bece4/)
- [Write(ReadOnlySpan&lt;byte&gt;)](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.pooledbuffer/methods/write-system-readonlyspan-byte-beb094a8/)
