# ArcBufferCodec

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/997f2589e814db85c6a451b59c081c88e50b8944/src/Orleans.Serialization/Codecs/ArcBufferCodec.cs#L15)

```csharp
public sealed class ArcBufferCodec : IFieldCodec, IFieldCodec<ArcBuffer>
```

Serializes raw Arc bytes while preserving the source's ownership and contents.

## Remarks

The caller owns each decoded buffer and disposes it when finished. Struct assignments borrow that ownership; [ArcBuffer](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.arcbuffer/) acquires an independent owner.

## Constructors

- [ArcBufferCodec](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.codecs.arcbuffercodec/constructors/constructor-7a428c31/)

## Methods

- [ReadValue(Reader&lt;TInput&gt;, Field)](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.codecs.arcbuffercodec/methods/readvalue-1-ref-orleans-serialization-buffers-reader-tinput-orleans-serializatio-addd54e9/)
- [WriteField(Writer&lt;TBufferWriter&gt;, uint, Type?, ArcBuffer)](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.codecs.arcbuffercodec/methods/writefield-1-ref-orleans-serialization-buffers-writer-tbufferwriter-uint-system-14341ff2/)
