# IStreamGenerator Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.generator.istreamgenerator/)

## Configure(IServiceProvider, IStreamGeneratorConfig) {#configure-system-iserviceprovider-orleans-providers-streams-generator-istreamgen-fce07fed}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.generator.istreamgenerator/methods/configure-system-iserviceprovider-orleans-providers-streams-generator-istreamgen-fce07fed/)

```csharp
public abstract void Configure(IServiceProvider serviceProvider, IStreamGeneratorConfig generatorConfig)
```

Configures the stream generator.

### Parameters

- `serviceProvider` (`IServiceProvider`): The service provider.
- `generatorConfig` (`IStreamGeneratorConfig`): The generator configuration.

## TryReadEvents(DateTime, int, List&lt;IBatchContainer&gt;) {#tryreadevents-system-datetime-int-out-system-collections-generic-list-orleans-st-6e22d75f}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.generator.istreamgenerator/methods/tryreadevents-system-datetime-int-out-system-collections-generic-list-orleans-st-6e22d75f/)

```csharp
public abstract bool TryReadEvents(DateTime utcNow, int maxCount, out List<IBatchContainer> events)
```

Tries to get an event, if the generator is configured to generate any at this time

### Parameters

- `utcNow` (`DateTime`): The current UTC time.
- `maxCount` (`int`): The maximum number of events to read.
- `events` (`List<IBatchContainer>`): The events.

### Returns

`true` if events were read, `false` otherwise.
