# QuicOptions


```
public final class QuicOptions
```

<br />

*** ** * ** ***

Configuration options for QUIC in Cronet.

The settings in this class are only relevant if QUIC is enabled. Use `https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/CronetEngine.Builder#enableQuic(boolean)` to enable / disable QUIC for the Cronet engine.

## Summary

| ### Nested types |
|---|
| `public class https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/QuicOptions.Builder` Builder for `https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/QuicOptions`. |
| `@https://developer.android.com/reference/androidx/annotation/RequiresOptIn.html public annotation https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/QuicOptions.Experimental` An annotation for APIs which are not considered stable yet. |
| `@https://developer.android.com/reference/androidx/annotation/RequiresOptIn.html public annotation https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/QuicOptions.QuichePassthroughOption` An annotation for APIs which configure QUICHE options not curated by Cronet. |

| ### Public methods |
|---|---|
| `static https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/QuicOptions.Builder` | `https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/QuicOptions#builder()()` |
| `https://developer.android.com/reference/java/util/Set.html<https://developer.android.com/reference/java/lang/String.html>` | `https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/QuicOptions#getClientConnectionOptions()()` |
| `@https://developer.android.com/reference/androidx/annotation/Nullable.html https://developer.android.com/reference/java/lang/Boolean.html` | `https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/QuicOptions#getCloseSessionsOnIpChange()()` |
| `https://developer.android.com/reference/java/util/Set.html<https://developer.android.com/reference/java/lang/String.html>` | `https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/QuicOptions#getConnectionOptions()()` |
| `@https://developer.android.com/reference/androidx/annotation/Nullable.html https://developer.android.com/reference/java/lang/Long.html` | `https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/QuicOptions#getCryptoHandshakeTimeoutSeconds()()` |
| `@https://developer.android.com/reference/androidx/annotation/Nullable.html https://developer.android.com/reference/java/lang/Boolean.html` | `https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/QuicOptions#getDelayJobsWithAvailableSpdySession()()` |
| `@https://developer.android.com/reference/androidx/annotation/Nullable.html https://developer.android.com/reference/java/lang/Boolean.html` | `https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/QuicOptions#getEnableTlsZeroRtt()()` |
| `https://developer.android.com/reference/java/util/Set.html<https://developer.android.com/reference/java/lang/String.html>` | `https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/QuicOptions#getEnabledQuicVersions()()` |
| `https://developer.android.com/reference/java/util/Set.html<https://developer.android.com/reference/java/lang/String.html>` | `https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/QuicOptions#getExtraQuicheFlags()()` |
| `@https://developer.android.com/reference/androidx/annotation/Nullable.html https://developer.android.com/reference/java/lang/Boolean.html` | `https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/QuicOptions#getGoawaySessionsOnIpChange()()` |
| `@https://developer.android.com/reference/androidx/annotation/Nullable.html https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/QuicOptions#getHandshakeUserAgent()()` |
| `@https://developer.android.com/reference/androidx/annotation/Nullable.html https://developer.android.com/reference/java/lang/Long.html` | `https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/QuicOptions#getIdleConnectionTimeoutSeconds()()` |
| `@https://developer.android.com/reference/androidx/annotation/Nullable.html https://developer.android.com/reference/java/lang/Integer.html` | `https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/QuicOptions#getInMemoryServerConfigsCacheSize()()` |
| `@https://developer.android.com/reference/androidx/annotation/Nullable.html https://developer.android.com/reference/java/lang/Boolean.html` | `https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/QuicOptions#getIncreaseBrokenServicePeriodExponentially()()` |
| `@https://developer.android.com/reference/androidx/annotation/Nullable.html https://developer.android.com/reference/java/lang/Long.html` | `https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/QuicOptions#getInitialBrokenServicePeriodSeconds()()` |
| `@https://developer.android.com/reference/androidx/annotation/Nullable.html https://developer.android.com/reference/java/lang/Long.html` | `https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/QuicOptions#getPreCryptoHandshakeIdleTimeoutSeconds()()` |
| `https://developer.android.com/reference/java/util/Set.html<https://developer.android.com/reference/java/lang/String.html>` | `https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/QuicOptions#getQuicHostAllowlist()()` |
| `@https://developer.android.com/reference/androidx/annotation/Nullable.html https://developer.android.com/reference/java/lang/Long.html` | `https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/QuicOptions#getRetransmittableOnWireTimeoutMillis()()` |
| `@https://developer.android.com/reference/androidx/annotation/Nullable.html https://developer.android.com/reference/java/lang/Boolean.html` | `https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/QuicOptions#getRetryWithoutAltSvcOnQuicErrors()()` |

## Public methods

### builder

```
public static QuicOptions.Builder builder()
```

### getClientConnectionOptions

```
public Set<String> getClientConnectionOptions()
```

### getCloseSessionsOnIpChange

```
public @Nullable Boolean getCloseSessionsOnIpChange()
```

### getConnectionOptions

```
public Set<String> getConnectionOptions()
```

### getCryptoHandshakeTimeoutSeconds

```
public @Nullable Long getCryptoHandshakeTimeoutSeconds()
```

### getDelayJobsWithAvailableSpdySession

```
public @Nullable Boolean getDelayJobsWithAvailableSpdySession()
```

### getEnableTlsZeroRtt

```
public @Nullable Boolean getEnableTlsZeroRtt()
```

### getEnabledQuicVersions

```
public Set<String> getEnabledQuicVersions()
```

### getExtraQuicheFlags

```
public Set<String> getExtraQuicheFlags()
```

### getGoawaySessionsOnIpChange

```
public @Nullable Boolean getGoawaySessionsOnIpChange()
```

### getHandshakeUserAgent

```
public @Nullable String getHandshakeUserAgent()
```

### getIdleConnectionTimeoutSeconds

```
public @Nullable Long getIdleConnectionTimeoutSeconds()
```

### getInMemoryServerConfigsCacheSize

```
public @Nullable Integer getInMemoryServerConfigsCacheSize()
```

### getIncreaseBrokenServicePeriodExponentially

```
public @Nullable Boolean getIncreaseBrokenServicePeriodExponentially()
```

### getInitialBrokenServicePeriodSeconds

```
public @Nullable Long getInitialBrokenServicePeriodSeconds()
```

### getPreCryptoHandshakeIdleTimeoutSeconds

```
public @Nullable Long getPreCryptoHandshakeIdleTimeoutSeconds()
```

### getQuicHostAllowlist

```
public Set<String> getQuicHostAllowlist()
```

### getRetransmittableOnWireTimeoutMillis

```
public @Nullable Long getRetransmittableOnWireTimeoutMillis()
```

### getRetryWithoutAltSvcOnQuicErrors

```
public @Nullable Boolean getRetryWithoutAltSvcOnQuicErrors()
```