When does the SDK hit the network
The atomic snapshot guarantee
The snapshot is replaced as one immutable record. Two reads from different threads either see the same old state or the same new state - never a mix.GetAllConfigs() without worrying about an entry being added or removed mid-loop.
ETag / 304
Every successful sync stores the server’sETag. The next sync sends If-None-Match: <etag>. If nothing has changed:
SyncedAt timestamp and serves the existing snapshot. No payload transferred.
Background sync errors
Background syncs never throw. If the network call fails:- The error is logged via
INexusLogger.Error(...) - The existing cache continues to be served
- The next read after the TTL elapses retries automatically
Cache lifetime
The cache lives as long as theNexusClient instance. Disposing the client (or letting it be garbage-collected) releases the memory. Typical use is one singleton client per application, registered with DI; do not create per-request.
Diagnostics
Logging
INexusLogger.Debug will emit one line per sync:
