# SiloMessagingOptions Properties

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.configuration.silomessagingoptions/)

## AssumeHomogenousSilosForTesting {#assumehomogenoussilosfortesting-b784faf2}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.configuration.silomessagingoptions/properties/assumehomogenoussilosfortesting-b784faf2/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Runtime/Configuration/Options/SiloMessagingOptions.cs)

```csharp
public bool AssumeHomogenousSilosForTesting
```

Gets or sets a value indicating whether it is assumed that all hosts are identical in terms of the grain interfaces and classes which they support.

## ClientDropTimeout {#clientdroptimeout-47616c4f}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.configuration.silomessagingoptions/properties/clientdroptimeout-47616c4f/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Runtime/Configuration/Options/SiloMessagingOptions.cs)

```csharp
public TimeSpan ClientDropTimeout
```

Gets or sets the period of time a gateway will wait before dropping a disconnected client.

## ClientGatewayShutdownNotificationTimeout {#clientgatewayshutdownnotificationtimeout-2825b01b}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.configuration.silomessagingoptions/properties/clientgatewayshutdownnotificationtimeout-2825b01b/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Runtime/Configuration/Options/SiloMessagingOptions.cs)

```csharp
public TimeSpan ClientGatewayShutdownNotificationTimeout
```

Gets or sets the period of time a gateway will wait after notifying connected client before continuing the shutdown process

## ClientRegistrationRefresh {#clientregistrationrefresh-4fe1cb3b}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.configuration.silomessagingoptions/properties/clientregistrationrefresh-4fe1cb3b/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Runtime/Configuration/Options/SiloMessagingOptions.cs)

```csharp
public TimeSpan ClientRegistrationRefresh
```

Gets or sets the interval in which the list of connected clients is refreshed.

## GatewaySenderQueues {#gatewaysenderqueues-4134a631}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.configuration.silomessagingoptions/properties/gatewaysenderqueues-4134a631/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Runtime/Configuration/Options/SiloMessagingOptions.cs)

```csharp
public int GatewaySenderQueues
```

Gets or sets the number of parallel queues and attendant threads used by the silo Gateway to send outbound messages (requests, responses, and notifications) to clients that are connected to it. If this attribute is not specified, then System.Environment.ProcessorCount is used.

## GrainWorkloadAnalysisPeriod {#grainworkloadanalysisperiod-70763973}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.configuration.silomessagingoptions/properties/grainworkloadanalysisperiod-70763973/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Runtime/Configuration/Options/SiloMessagingOptions.cs)

```csharp
public TimeSpan GrainWorkloadAnalysisPeriod
```

Gets or sets the period of time between analyzing currently executing activation workloads.

## MaxEnqueuedRequestsHardLimit {#maxenqueuedrequestshardlimit-24f52b4c}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.configuration.silomessagingoptions/properties/maxenqueuedrequestshardlimit-24f52b4c/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Runtime/Configuration/Options/SiloMessagingOptions.cs)

```csharp
public int MaxEnqueuedRequestsHardLimit
```

Gets or sets the per grain threshold for pending requests. Requests are rejected when exceeded.

## MaxEnqueuedRequestsHardLimit_StatelessWorker {#maxenqueuedrequestshardlimit-statelessworker-9ff0bab9}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.configuration.silomessagingoptions/properties/maxenqueuedrequestshardlimit-statelessworker-9ff0bab9/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Runtime/Configuration/Options/SiloMessagingOptions.cs)

```csharp
public int MaxEnqueuedRequestsHardLimit_StatelessWorker
```

Gets or sets the per grain threshold for pending requests for stateless workers. Requests are rejected when exceeded.

## MaxEnqueuedRequestsSoftLimit {#maxenqueuedrequestssoftlimit-a89274db}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.configuration.silomessagingoptions/properties/maxenqueuedrequestssoftlimit-a89274db/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Runtime/Configuration/Options/SiloMessagingOptions.cs)

```csharp
public int MaxEnqueuedRequestsSoftLimit
```

Gets or sets the per grain threshold for pending requests. Generated warning when exceeded.

## MaxEnqueuedRequestsSoftLimit_StatelessWorker {#maxenqueuedrequestssoftlimit-statelessworker-185832fa}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.configuration.silomessagingoptions/properties/maxenqueuedrequestssoftlimit-statelessworker-185832fa/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Runtime/Configuration/Options/SiloMessagingOptions.cs)

```csharp
public int MaxEnqueuedRequestsSoftLimit_StatelessWorker
```

Gets or sets the per grain threshold for pending requests for stateless workers. Generated warning when exceeded.

## MaxForwardCount {#maxforwardcount-012ada40}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.configuration.silomessagingoptions/properties/maxforwardcount-012ada40/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Runtime/Configuration/Options/SiloMessagingOptions.cs)

```csharp
public int MaxForwardCount
```

Gets or sets the maximal number of times a message is being forwarded from one silo to another. Forwarding is used internally by the runtime as a recovery mechanism when silos fail and the membership is unstable. In such times the messages might not be routed correctly to destination, and runtime attempts to forward such messages a number of times before rejecting them.

## MaxRequestProcessingTime {#maxrequestprocessingtime-48ccfe43}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.configuration.silomessagingoptions/properties/maxrequestprocessingtime-48ccfe43/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Runtime/Configuration/Options/SiloMessagingOptions.cs)

```csharp
public TimeSpan MaxRequestProcessingTime
```

Gets or sets the maximum time that a request can take before the activation is reported as "blocked"

## RequestProcessingWarningTime {#requestprocessingwarningtime-c17ae34d}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.configuration.silomessagingoptions/properties/requestprocessingwarningtime-c17ae34d/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Runtime/Configuration/Options/SiloMessagingOptions.cs)

```csharp
public TimeSpan RequestProcessingWarningTime
```

Gets or sets the period after which a currently executing request is deemed to be slow.

## RequestQueueDelayWarningTime {#requestqueuedelaywarningtime-93b192be}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.configuration.silomessagingoptions/properties/requestqueuedelaywarningtime-93b192be/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Runtime/Configuration/Options/SiloMessagingOptions.cs)

```csharp
public TimeSpan RequestQueueDelayWarningTime
```

Gets or sets the period after which an enqueued request is deemed to be delayed.

## ShutdownRerouteTimeout {#shutdownreroutetimeout-4e6c70ed}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.configuration.silomessagingoptions/properties/shutdownreroutetimeout-4e6c70ed/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Runtime/Configuration/Options/SiloMessagingOptions.cs)

```csharp
[System.Obsolete(Unused, will be removed in a future version.)]
public TimeSpan ShutdownRerouteTimeout
```

Gets or sets the period of time the silo will wait to reroute queued messages before it continues shutting down.

## SiloSenderQueues {#silosenderqueues-d220db2e}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.configuration.silomessagingoptions/properties/silosenderqueues-d220db2e/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Runtime/Configuration/Options/SiloMessagingOptions.cs)

```csharp
public int SiloSenderQueues
```

Gets or sets the number of parallel queues and attendant threads used by the silo to send outbound messages (requests, responses, and notifications) to other silos. If this attribute is not specified, then System.Environment.ProcessorCount is used.

## SystemResponseTimeout {#systemresponsetimeout-de074367}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.configuration.silomessagingoptions/properties/systemresponsetimeout-de074367/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Runtime/Configuration/Options/SiloMessagingOptions.cs)

```csharp
public TimeSpan SystemResponseTimeout
```

Gets or sets the default timeout before an internal system request is assumed to have failed.

## WaitForMessageToBeQueuedForOutboundTime {#waitformessagetobequeuedforoutboundtime-abfc5caa}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.configuration.silomessagingoptions/properties/waitformessagetobequeuedforoutboundtime-abfc5caa/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Runtime/Configuration/Options/SiloMessagingOptions.cs)

```csharp
public TimeSpan WaitForMessageToBeQueuedForOutboundTime
```

Gets or sets the time to wait for all queued message sent to OutboundMessageQueue before MessageCenter stop and OutboundMessageQueue stop.
