Azure.Storage.Blobs.Models.BlobLayoutSegmentCacheValue
Cache entry wrapping a snapshot of BlobLayoutSegments returned by
GetLayout, along with the expiry metadata required by
AutoRefreshingCache<T>.
Layout responses become stale on the service side after roughly 5 minutes,
so the cache proactively refreshes shortly before that.
Server-side layout TTL.
How long before ExpiresOn a background refresh should be initiated.
The time at which this value is no longer valid and must be re-acquired.
The time at which a background refresh should be initiated so that a new value
is ready before ExpiresOn is reached.
The cached layout segments. Non-empty when locality routing applies.
Empty when the service returned no layout (HTTP 204); cached for the full TTL.
Null on a soft GetLayout failure (400/5xx); also cached for the full TTL so
the rest of the download avoids re-hitting a known-bad layout endpoint.
In all non-routing cases, consumers fall back to the original endpoint.
Returns a new copy of this value with the specified refreshOn time.
Used by the cache to modify the refresh time while keeping everything else the same.