# ConsumerCursorDrained Constructors

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streaming.diagnostics.streamingevents.consumercursordrained/)

## ConsumerCursorDrained(string, StreamId, Guid, SiloAddress?) {#constructor-string-orleans-runtime-streamid-system-guid-orleans-runtime-siloaddr-e420861d}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streaming.diagnostics.streamingevents.consumercursordrained/constructors/constructor-string-orleans-runtime-streamid-system-guid-orleans-runtime-siloaddr-e420861d/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Streaming/Diagnostics/StreamingEvents.cs#L338-L348)

```csharp
public ConsumerCursorDrained(string streamProvider, StreamId streamId, Guid subscriptionId, SiloAddress? siloAddress)
```

Event payload for when a consumer cursor is drained and no more currently available work remains.

### Parameters

- `streamProvider` (`string`): The name of the stream provider.
- `streamId` (`StreamId`): The stream ID.
- `subscriptionId` (`Guid`): The subscription ID.
- `siloAddress` (`SiloAddress?`): The address of the silo handling this cursor.
