# TestMultiSegmentBufferWriter Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.serialization.testkit/orleans.serialization.testkit.testmultisegmentbufferwriter/)

## Advance(int) {#advance-int-43f5fe52}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization.testkit/orleans.serialization.testkit.testmultisegmentbufferwriter/methods/advance-int-43f5fe52/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization.TestKit/TestMultiSegmentBufferWriter.cs#L24-L31)

```csharp
public void Advance(int bytes)
```

Notifies the `System.Buffers.IBufferWriter-1` that `count` data items were written to the output `System.Span-1` or `System.Memory-1`.

### Parameters

- `bytes` (`int`): The number of data items written to the `System.Span-1` or `System.Memory-1`.

## GetMemory(int) {#getmemory-int-d447eb84}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization.testkit/orleans.serialization.testkit.testmultisegmentbufferwriter/methods/getmemory-int-d447eb84/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization.TestKit/TestMultiSegmentBufferWriter.cs#L35-L48)

```csharp
public Memory<byte> GetMemory(int sizeHint = 0)
```

Returns a `System.Memory-1` to write to that is at least the requested size (specified by `sizeHint`).

### Parameters

- `sizeHint` (`int`): The minimum length of the returned `System.Memory-1`. If 0, a non-empty buffer is returned.

### Returns

A `System.Memory-1` of at least the size `sizeHint`. If `sizeHint` is 0, returns a non-empty buffer.

### Exceptions

- `System.OutOfMemoryException`: The requested buffer size is not available.

## GetReadOnlySequence(int) {#getreadonlysequence-int-c8b95ea3}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization.testkit/orleans.serialization.testkit.testmultisegmentbufferwriter/methods/getreadonlysequence-int-c8b95ea3/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization.TestKit/TestMultiSegmentBufferWriter.cs#L70)

```csharp
public ReadOnlySequence<byte> GetReadOnlySequence(int maxSegmentSize)
```

### Parameters

- `maxSegmentSize` (`int`)

## GetSpan(int) {#getspan-int-a819f73f}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization.testkit/orleans.serialization.testkit.testmultisegmentbufferwriter/methods/getspan-int-a819f73f/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization.TestKit/TestMultiSegmentBufferWriter.cs#L53-L66)

```csharp
public Span<byte> GetSpan(int sizeHint)
```

Returns a `System.Span-1` to write to that is at least the requested size (specified by `sizeHint`).

### Parameters

- `sizeHint` (`int`): The minimum length of the returned `System.Span-1`. If 0, a non-empty buffer is returned.

### Returns

A `System.Span-1` of at least the size `sizeHint`. If `sizeHint` is 0, returns a non-empty buffer.

## PeekAllBuffers {#peekallbuffers-e20e1402}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization.testkit/orleans.serialization.testkit.testmultisegmentbufferwriter/methods/peekallbuffers-e20e1402/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization.TestKit/TestMultiSegmentBufferWriter.cs#L72)

```csharp
public ReadOnlySequence<byte> PeekAllBuffers()
```
