# SiloPersistentStreamConfiguratorExtensions Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.hosting.silopersistentstreamconfiguratorextensions/)

## ConfigureBackoffProvider(ISiloPersistentStreamConfigurator, Func&lt;IServiceProvider, string, IMessageDeliveryBackoffProvider&gt;) {#configurebackoffprovider-this-orleans-hosting-isilopersistentstreamconfigurator-a1ccd4bd}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.hosting.silopersistentstreamconfiguratorextensions/methods/configurebackoffprovider-this-orleans-hosting-isilopersistentstreamconfigurator-a1ccd4bd/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Streaming/ISiloPersistentStreamConfigurator.cs)

```csharp
public static void ConfigureBackoffProvider(this ISiloPersistentStreamConfigurator configurator, Func<IServiceProvider, string, IMessageDeliveryBackoffProvider> factory)
```

Configures the pulling agents' message delivery backoff provider.

### Parameters

- `configurator` (`ISiloPersistentStreamConfigurator`): The configuration builder.
- `factory` (`Func<IServiceProvider, string, IMessageDeliveryBackoffProvider>`): The message delivery backoff factory.

## ConfigureBackoffProvider(ISiloPersistentStreamConfigurator, Func&lt;IServiceProvider, string, IQueueReaderBackoffProvider&gt;) {#configurebackoffprovider-this-orleans-hosting-isilopersistentstreamconfigurator-ad9952cc}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.hosting.silopersistentstreamconfiguratorextensions/methods/configurebackoffprovider-this-orleans-hosting-isilopersistentstreamconfigurator-ad9952cc/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Streaming/ISiloPersistentStreamConfigurator.cs)

```csharp
public static void ConfigureBackoffProvider(this ISiloPersistentStreamConfigurator configurator, Func<IServiceProvider, string, IQueueReaderBackoffProvider> factory)
```

Configures the pulling agents' queue reader backoff provider.

### Parameters

- `configurator` (`ISiloPersistentStreamConfigurator`): The configuration builder.
- `factory` (`Func<IServiceProvider, string, IQueueReaderBackoffProvider>`): The queue reader backoff factory.

## ConfigureLifecycle(ISiloPersistentStreamConfigurator, Action&lt;OptionsBuilder&lt;StreamLifecycleOptions&gt;&gt;) {#configurelifecycle-this-orleans-hosting-isilopersistentstreamconfigurator-system-cffb8dd6}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.hosting.silopersistentstreamconfiguratorextensions/methods/configurelifecycle-this-orleans-hosting-isilopersistentstreamconfigurator-system-cffb8dd6/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Streaming/ISiloPersistentStreamConfigurator.cs#L38-L39)

```csharp
public static void ConfigureLifecycle(this ISiloPersistentStreamConfigurator configurator, Action<OptionsBuilder<StreamLifecycleOptions>> configureOptions)
```

Configures the lifecycle.

### Parameters

- `configurator` (`ISiloPersistentStreamConfigurator`): The configuration builder.
- `configureOptions` (`Action<OptionsBuilder<StreamLifecycleOptions>>`): The configuration delegate.

## ConfigurePartitionBalancing(ISiloPersistentStreamConfigurator, Func&lt;IServiceProvider, string, IStreamQueueBalancer&gt;) {#configurepartitionbalancing-this-orleans-hosting-isilopersistentstreamconfigurat-be6a66d2}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.hosting.silopersistentstreamconfiguratorextensions/methods/configurepartitionbalancing-this-orleans-hosting-isilopersistentstreamconfigurat-be6a66d2/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Streaming/ISiloPersistentStreamConfigurator.cs#L48-L49)

```csharp
public static void ConfigurePartitionBalancing(this ISiloPersistentStreamConfigurator configurator, Func<IServiceProvider, string, IStreamQueueBalancer> factory)
```

Configures partition balancing.

### Parameters

- `configurator` (`ISiloPersistentStreamConfigurator`): The configuration builder.
- `factory` (`Func<IServiceProvider, string, IStreamQueueBalancer>`): The partition balancer factory.

## ConfigurePartitionBalancing(ISiloPersistentStreamConfigurator, Func&lt;IServiceProvider, string, IStreamQueueBalancer&gt;, Action&lt;OptionsBuilder&lt;TOptions&gt;&gt;) {#configurepartitionbalancing-1-this-orleans-hosting-isilopersistentstreamconfigur-663f1401}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.hosting.silopersistentstreamconfiguratorextensions/methods/configurepartitionbalancing-1-this-orleans-hosting-isilopersistentstreamconfigur-663f1401/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Streaming/ISiloPersistentStreamConfigurator.cs#L84-L85)

```csharp
public static void ConfigurePartitionBalancing<TOptions>(this ISiloPersistentStreamConfigurator configurator, Func<IServiceProvider, string, IStreamQueueBalancer> factory, Action<OptionsBuilder<TOptions>> configureOptions)
```

Configures partition balancing.

### Parameters

- `configurator` (`ISiloPersistentStreamConfigurator`): The configuration builder.
- `factory` (`Func<IServiceProvider, string, IStreamQueueBalancer>`): The partition balancer factory.
- `configureOptions` (`Action<OptionsBuilder<TOptions>>`): The configuration delegate.

## ConfigurePullingAgent(ISiloPersistentStreamConfigurator, Action&lt;OptionsBuilder&lt;StreamPullingAgentOptions&gt;&gt;) {#configurepullingagent-this-orleans-hosting-isilopersistentstreamconfigurator-sys-4b679720}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.hosting.silopersistentstreamconfiguratorextensions/methods/configurepullingagent-this-orleans-hosting-isilopersistentstreamconfigurator-sys-4b679720/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Streaming/ISiloPersistentStreamConfigurator.cs#L28-L29)

```csharp
public static void ConfigurePullingAgent(this ISiloPersistentStreamConfigurator configurator, Action<OptionsBuilder<StreamPullingAgentOptions>> configureOptions = null)
```

Configures the pulling agent.

### Parameters

- `configurator` (`ISiloPersistentStreamConfigurator`): The configuration builder.
- `configureOptions` (`Action<OptionsBuilder<StreamPullingAgentOptions>>`): The configuration delegate.
