# IStreamFailureHandler Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.istreamfailurehandler/)

## OnDeliveryFailure(GuidId, string, StreamId, StreamSequenceToken) {#ondeliveryfailure-orleans-runtime-guidid-string-orleans-runtime-streamid-orleans-ec353310}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.istreamfailurehandler/methods/ondeliveryfailure-orleans-runtime-guidid-string-orleans-runtime-streamid-orleans-ec353310/)

```csharp
public abstract Task OnDeliveryFailure(GuidId subscriptionId, string streamProviderName, StreamId streamIdentity, StreamSequenceToken sequenceToken)
```

Called once all measures to deliver an event to a consumer have been exhausted.

### Parameters

- `subscriptionId` (`GuidId`): The subscription identifier.
- `streamProviderName` (`string`): Name of the stream provider.
- `streamIdentity` (`StreamId`): The stream identity.
- `sequenceToken` (`StreamSequenceToken`): The sequence token.

### Returns

A `System.Threading.Tasks.Task` representing the operation.

## OnSubscriptionFailure(GuidId, string, StreamId, StreamSequenceToken) {#onsubscriptionfailure-orleans-runtime-guidid-string-orleans-runtime-streamid-orl-30931a8f}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.istreamfailurehandler/methods/onsubscriptionfailure-orleans-runtime-guidid-string-orleans-runtime-streamid-orl-30931a8f/)

```csharp
public abstract Task OnSubscriptionFailure(GuidId subscriptionId, string streamProviderName, StreamId streamIdentity, StreamSequenceToken sequenceToken)
```

Should be called when establishing a subscription failed.

### Parameters

- `subscriptionId` (`GuidId`): The subscription identifier.
- `streamProviderName` (`string`): Name of the stream provider.
- `streamIdentity` (`StreamId`): The stream identity.
- `sequenceToken` (`StreamSequenceToken`): The sequence token.

### Returns

A `System.Threading.Tasks.Task` representing the operation.
