# DnsOptions.StaleDnsOptions

Added in[API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Also in[S Extensions 7](https://developer.android.com/sdkExtensions)  
Summary:[Nested Classes](https://developer.android.com/reference/android/net/http/DnsOptions.StaleDnsOptions#nestedclasses)\|[Methods](https://developer.android.com/reference/android/net/http/DnsOptions.StaleDnsOptions#pubmethods)\|[Inherited Methods](https://developer.android.com/reference/android/net/http/DnsOptions.StaleDnsOptions#inhmethods)  

# DnsOptions.StaleDnsOptions

*** ** * ** ***

[Kotlin](https://developer.android.com/reference/kotlin/android/net/http/DnsOptions.StaleDnsOptions "View this page in Kotlin")\|Java

`
public
static


class
DnsOptions.StaleDnsOptions
`  
`

extends `[Object](https://developer.android.com/reference/java/lang/Object)`


``


`

|---|---------------------------------------------|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.net.http.DnsOptions.StaleDnsOptions |

<br />

*** ** * ** ***

A class configuring the stale DNS functionality.

DNS resolution is one of the steps on the critical path to making a URL request, but it can be slow for various reasons (underlying network latency, buffer bloat, packet loss, etc.). Depending on the use case, it might be worthwhile for an app developer to trade off guaranteed DNS record freshness for better availability of DNS records.

Stale results can include both:

- results returned from the current network's DNS server, but past their time-to-live, and
- results returned from a different network's DNS server, whether expired or not.

For detailed explanation of the configuration options see javadoc on[StaleDnsOptions.Builder](https://developer.android.com/reference/android/net/http/DnsOptions.StaleDnsOptions.Builder)methods.

## Summary

|                                                                                                                       ### Nested classes                                                                                                                       ||
|----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` class` | [DnsOptions.StaleDnsOptions.Builder](https://developer.android.com/reference/android/net/http/DnsOptions.StaleDnsOptions.Builder) Builder for[StaleDnsOptions](https://developer.android.com/reference/android/net/http/DnsOptions.StaleDnsOptions). |

|                                                                                                          ### Public methods                                                                                                           ||
|---------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` int`                                                                    | ` `[getAllowCrossNetworkUsage](https://developer.android.com/reference/android/net/http/DnsOptions.StaleDnsOptions#getAllowCrossNetworkUsage())`() `       |
| ` `[Duration](https://developer.android.com/reference/java/time/Duration) | ` `[getFreshLookupTimeout](https://developer.android.com/reference/android/net/http/DnsOptions.StaleDnsOptions#getFreshLookupTimeout())`() `               |
| ` `[Duration](https://developer.android.com/reference/java/time/Duration) | ` `[getMaxExpiredDelay](https://developer.android.com/reference/android/net/http/DnsOptions.StaleDnsOptions#getMaxExpiredDelay())`() `                     |
| ` int`                                                                    | ` `[getUseStaleOnNameNotResolved](https://developer.android.com/reference/android/net/http/DnsOptions.StaleDnsOptions#getUseStaleOnNameNotResolved())`() ` |

| ### Inherited methods |
|-----------------------|---|
| From class` `[java.lang.Object](https://developer.android.com/reference/java/lang/Object)` ` |--------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` `[Object](https://developer.android.com/reference/java/lang/Object)          | ` `[clone](https://developer.android.com/reference/java/lang/Object#clone())`() ` Creates and returns a copy of this object.                                                                                                                                                      | | ` boolean`                                                                     | ` `[equals](https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object))`(`[Object](https://developer.android.com/reference/java/lang/Object)` obj) ` Indicates whether some other object is "equal to" this one.                                           | | ` void`                                                                        | ` `[finalize](https://developer.android.com/reference/java/lang/Object#finalize())`() ` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.                                                          | | ` final `[Class](https://developer.android.com/reference/java/lang/Class)`<?>` | ` `[getClass](https://developer.android.com/reference/java/lang/Object#getClass())`() ` Returns the runtime class of this`Object`.                                                                                                                                                | | ` int`                                                                         | ` `[hashCode](https://developer.android.com/reference/java/lang/Object#hashCode())`() ` Returns a hash code value for the object.                                                                                                                                                 | | ` final void`                                                                  | ` `[notify](https://developer.android.com/reference/java/lang/Object#notify())`() ` Wakes up a single thread that is waiting on this object's monitor.                                                                                                                            | | ` final void`                                                                  | ` `[notifyAll](https://developer.android.com/reference/java/lang/Object#notifyAll())`() ` Wakes up all threads that are waiting on this object's monitor.                                                                                                                         | | ` `[String](https://developer.android.com/reference/java/lang/String)          | ` `[toString](https://developer.android.com/reference/java/lang/Object#toString())`() ` Returns a string representation of the object.                                                                                                                                            | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait(long,%20int))`(long timeoutMillis, int nanos) ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*, or until a certain amount of real time has elapsed. | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait(long))`(long timeoutMillis) ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*, or until a certain amount of real time has elapsed.                   | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait())`() ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*.                                                                                             | ||

## Public methods

### getAllowCrossNetworkUsage

Added in[API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Also in[S Extensions 7](https://developer.android.com/sdkExtensions)  

```
public int getAllowCrossNetworkUsage ()
```

<br />

<br />

|                                                                                                                                                                                                  Returns                                                                                                                                                                                                   ||
|-------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `int` | Value is[DnsOptions.DNS_OPTION_UNSPECIFIED](https://developer.android.com/reference/android/net/http/DnsOptions#DNS_OPTION_UNSPECIFIED),[DnsOptions.DNS_OPTION_ENABLED](https://developer.android.com/reference/android/net/http/DnsOptions#DNS_OPTION_ENABLED), or[DnsOptions.DNS_OPTION_DISABLED](https://developer.android.com/reference/android/net/http/DnsOptions#DNS_OPTION_DISABLED) <br /> |

### getFreshLookupTimeout

Added in[API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Also in[S Extensions 7](https://developer.android.com/sdkExtensions)  

```
public Duration getFreshLookupTimeout ()
```

<br />

<br />

|                                                 Returns                                                 ||
|------------------------------------------------------------------------|---------------------------------|
| [Duration](https://developer.android.com/reference/java/time/Duration) | This value may be`null`. <br /> |

### getMaxExpiredDelay

Added in[API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Also in[S Extensions 7](https://developer.android.com/sdkExtensions)  

```
public Duration getMaxExpiredDelay ()
```

<br />

<br />

|                                                 Returns                                                 ||
|------------------------------------------------------------------------|---------------------------------|
| [Duration](https://developer.android.com/reference/java/time/Duration) | This value may be`null`. <br /> |

### getUseStaleOnNameNotResolved

Added in[API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Also in[S Extensions 7](https://developer.android.com/sdkExtensions)  

```
public int getUseStaleOnNameNotResolved ()
```

<br />

<br />

|                                                                                                                                                                                                  Returns                                                                                                                                                                                                   ||
|-------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `int` | Value is[DnsOptions.DNS_OPTION_UNSPECIFIED](https://developer.android.com/reference/android/net/http/DnsOptions#DNS_OPTION_UNSPECIFIED),[DnsOptions.DNS_OPTION_ENABLED](https://developer.android.com/reference/android/net/http/DnsOptions#DNS_OPTION_ENABLED), or[DnsOptions.DNS_OPTION_DISABLED](https://developer.android.com/reference/android/net/http/DnsOptions#DNS_OPTION_DISABLED) <br /> |