# IObjectPool&lt;T&gt; Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.iobjectpool-1/)

## Allocate {#allocate-3680ece0}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.iobjectpool-1/methods/allocate-3680ece0/)

```csharp
public abstract T Allocate()
```

Allocates a pooled resource

## Free(T) {#free-t-a8d5db4f}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.iobjectpool-1/methods/free-t-a8d5db4f/)

```csharp
public abstract void Free(T resource)
```

Returns a resource to the pool

### Parameters

- `resource` (`T`)
