# PooledBufferStream Properties

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

## CanRead {#canread-3867fe81}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.adaptors.pooledbufferstream/properties/canread-3867fe81/)

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

```csharp
public override bool CanRead
```

When overridden in a derived class, gets a value indicating whether the current stream supports reading.

### Returns

`true` if the stream supports reading; otherwise, `false`.

## CanSeek {#canseek-1af6511d}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.adaptors.pooledbufferstream/properties/canseek-1af6511d/)

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

```csharp
public override bool CanSeek
```

When overridden in a derived class, gets a value indicating whether the current stream supports seeking.

### Returns

`true` if the stream supports seeking; otherwise, `false`.

## CanWrite {#canwrite-9e94ffe8}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.adaptors.pooledbufferstream/properties/canwrite-9e94ffe8/)

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

```csharp
public override bool CanWrite
```

When overridden in a derived class, gets a value indicating whether the current stream supports writing.

### Returns

`true` if the stream supports writing; otherwise, `false`.

## Length {#length-731a68cb}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.adaptors.pooledbufferstream/properties/length-731a68cb/)

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

```csharp
public override long Length
```

Gets the total length which has been written.

## Position {#position-4f13de90}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.adaptors.pooledbufferstream/properties/position-4f13de90/)

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

```csharp
public override long Position
```

When overridden in a derived class, gets or sets the position within the current stream.

### Returns

The current position within the stream.

### Exceptions

- `System.IO.IOException`: An I/O error occurs.
- `System.NotSupportedException`: The stream does not support seeking.
- `System.ObjectDisposedException`: Methods were called after the stream was closed.
