# ArcBufferWriter

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/ArcBufferWriter.cs#L25)

```csharp
[Orleans.Immutable]
public sealed class ArcBufferWriter : IBufferWriter<byte>, IDisposable
```

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

## Constructors

- [ArcBufferWriter](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.arcbufferwriter/constructors/constructor-53de4d4d/)

## Properties

- [Length](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.arcbufferwriter/properties/length-6c51b332/)
- [Reader](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.arcbufferwriter/properties/reader-19af9a3d/)

## Methods

- [AdvanceReader(int)](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.arcbufferwriter/methods/advancereader-int-05ff4c91/)
- [AdvanceWriter(int)](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.arcbufferwriter/methods/advancewriter-int-4d91b671/)
- [AppendPinned(ArcBuffer)](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.arcbufferwriter/methods/appendpinned-orleans-serialization-buffers-arcbuffer-8f72ed82/)
- [ConsumeSlice(int)](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.arcbufferwriter/methods/consumeslice-int-5aacb0b0/)
- [Dispose](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.arcbufferwriter/methods/dispose-61964c1b/)
- [GetMemory(int)](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.arcbufferwriter/methods/getmemory-int-9fba260c/)
- [GetSpan(int)](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.arcbufferwriter/methods/getspan-int-b7e8cc58/)
- [Peek(Span&lt;byte&gt;)](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.arcbufferwriter/methods/peek-in-system-span-byte-fee85468/)
- [Peek(Span&lt;byte&gt;)](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.arcbufferwriter/methods/peek-system-span-byte-55756587/)
- [PeekSlice(int)](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.arcbufferwriter/methods/peekslice-int-d751cafb/)
- [ReplenishBuffers(List&lt;ArraySegment&lt;byte&gt;&gt;)](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.arcbufferwriter/methods/replenishbuffers-system-collections-generic-list-system-arraysegment-byte-760c8180/)
- [Reset](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.arcbufferwriter/methods/reset-d7b95a79/)
- [Truncate(int)](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.arcbufferwriter/methods/truncate-int-803f5b3f/)
- [Write(ReadOnlySequence&lt;byte&gt;)](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.arcbufferwriter/methods/write-system-buffers-readonlysequence-byte-8a5bf58c/)
- [Write(ReadOnlySpan&lt;byte&gt;)](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.arcbufferwriter/methods/write-system-readonlyspan-byte-f5a31400/)
- [WriteAt(int, ReadOnlySpan&lt;byte&gt;)](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.arcbufferwriter/methods/writeat-int-system-readonlyspan-byte-20c76fd1/)

## Fields

- [MinimumPageSize](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.arcbufferwriter/fields/minimumpagesize-2c1a57e3/)
