# Reader Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.reader/)

## Create(ArcBuffer, SerializerSession) {#create-orleans-serialization-buffers-arcbuffer-orleans-serialization-session-ser-2c5128a8}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.reader/methods/create-orleans-serialization-buffers-arcbuffer-orleans-serialization-session-ser-2c5128a8/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Buffers/Reader.cs)

```csharp
public static Reader<ArcBufferReaderInput> Create(ArcBuffer input, SerializerSession session)
```

Creates a reader for the provided buffer.

### Parameters

- `input` (`ArcBuffer`): The input.
- `session` (`SerializerSession`): The session.

### Returns

A new `Orleans.Serialization.Buffers.Reader-1`.

## Create(BufferSlice, SerializerSession) {#create-orleans-serialization-buffers-pooledbuffer-bufferslice-orleans-serializat-bdfd4ab8}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.reader/methods/create-orleans-serialization-buffers-pooledbuffer-bufferslice-orleans-serializat-bdfd4ab8/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Buffers/Reader.cs)

```csharp
public static Reader<BufferSliceReaderInput> Create(BufferSlice input, SerializerSession session)
```

Creates a reader for the provided buffer.

### Parameters

- `input` (`BufferSlice`): The input.
- `session` (`SerializerSession`): The session.

### Returns

A new `Orleans.Serialization.Buffers.Reader-1`.

## Create(PooledBuffer, SerializerSession) {#create-orleans-serialization-buffers-pooledbuffer-orleans-serialization-session-00b6e077}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.reader/methods/create-orleans-serialization-buffers-pooledbuffer-orleans-serialization-session-00b6e077/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Buffers/Reader.cs)

```csharp
public static Reader<BufferSliceReaderInput> Create(PooledBuffer input, SerializerSession session)
```

Creates a reader for the provided buffer.

### Parameters

- `input` (`PooledBuffer`): The input.
- `session` (`SerializerSession`): The session.

### Returns

A new `Orleans.Serialization.Buffers.Reader-1`.

## Create(ReadOnlySequence&lt;byte&gt;, SerializerSession) {#create-system-buffers-readonlysequence-byte-orleans-serialization-session-serial-1a020b4a}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.reader/methods/create-system-buffers-readonlysequence-byte-orleans-serialization-session-serial-1a020b4a/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Buffers/Reader.cs#L230)

```csharp
public static Reader<ReadOnlySequenceInput> Create(ReadOnlySequence<byte> sequence, SerializerSession session)
```

Creates a reader for the provided buffer.

### Parameters

- `sequence` (`ReadOnlySequence<byte>`): The buffer.
- `session` (`SerializerSession`): The session.

### Returns

A new `Orleans.Serialization.Buffers.Reader-1`.

## Create(Stream, SerializerSession) {#create-system-io-stream-orleans-serialization-session-serializersession-cf55ee62}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.reader/methods/create-system-io-stream-orleans-serialization-session-serializersession-cf55ee62/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Buffers/Reader.cs#L221)

```csharp
public static Reader<ReaderInput> Create(Stream stream, SerializerSession session)
```

Creates a reader for the provided input stream.

### Parameters

- `stream` (`Stream`): The stream.
- `session` (`SerializerSession`): The session.

### Returns

A new `Orleans.Serialization.Buffers.Reader-1`.

## Create(ReadOnlyMemory&lt;byte&gt;, SerializerSession) {#create-system-readonlymemory-byte-orleans-serialization-session-serializersessio-16c33fa3}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.reader/methods/create-system-readonlymemory-byte-orleans-serialization-session-serializersessio-16c33fa3/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Buffers/Reader.cs)

```csharp
public static Reader<SpanReaderInput> Create(ReadOnlyMemory<byte> buffer, SerializerSession session)
```

Creates a reader for the provided buffer.

### Parameters

- `buffer` (`ReadOnlyMemory<byte>`): The buffer.
- `session` (`SerializerSession`): The session.

### Returns

A new `Orleans.Serialization.Buffers.Reader-1`.

## Create(ReadOnlySpan&lt;byte&gt;, SerializerSession) {#create-system-readonlyspan-byte-orleans-serialization-session-serializersession-d21334fa}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.reader/methods/create-system-readonlyspan-byte-orleans-serialization-session-serializersession-d21334fa/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Buffers/Reader.cs)

```csharp
public static Reader<SpanReaderInput> Create(ReadOnlySpan<byte> buffer, SerializerSession session)
```

Creates a reader for the provided buffer.

### Parameters

- `buffer` (`ReadOnlySpan<byte>`): The buffer.
- `session` (`SerializerSession`): The session.

### Returns

A new `Orleans.Serialization.Buffers.Reader-1`.

## Create(byte[], SerializerSession) {#create-byte-array-1-orleans-serialization-session-serializersession-1c8b652e}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.reader/methods/create-byte-array-1-orleans-serialization-session-serializersession-1c8b652e/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Buffers/Reader.cs)

```csharp
public static Reader<SpanReaderInput> Create(byte[] buffer, SerializerSession session)
```

Creates a reader for the provided buffer.

### Parameters

- `buffer` (`byte[]`): The buffer.
- `session` (`SerializerSession`): The session.

### Returns

A new `Orleans.Serialization.Buffers.Reader-1`.

## GetVarIntByteCount(byte) {#getvarintbytecount-byte-6bdd2dae}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.reader/methods/getvarintbytecount-byte-6bdd2dae/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Buffers/Reader.cs#L185)

```csharp
public static int GetVarIntByteCount(byte firstByte)
```

Gets the byte count for a variable-width integer from its first byte.

### Parameters

- `firstByte` (`byte`): The first byte of the encoded variable-width integer.

### Returns

The encoded byte count indicated by `firstByte`.
