NetworkManager constructor
NetworkManager({
- NetworkManagerConfig? config,
- NetworkStatusMonitor? monitor,
- CacheManager? cacheManager,
- RequestQueue? queue,
- SyncEngine? syncEngine,
- Connectivity? connectivity,
- NetworkLogger? logger,
Creates a NetworkManager with sensible defaults.
All sub-components can be overridden for testing or customization.
Implementation
NetworkManager({
NetworkManagerConfig? config,
NetworkStatusMonitor? monitor,
CacheManager? cacheManager,
RequestQueue? queue,
SyncEngine? syncEngine,
Connectivity? connectivity,
NetworkLogger? logger,
}) : _config = config ?? const NetworkManagerConfig(),
_logger = logger ?? NetworkLogger.defaultLogger {
// Initialize sub-components.
_monitor = monitor ??
NetworkStatusMonitor(
connectivity: connectivity,
logger: _logger,
);
_cache = cacheManager ??
CacheManager(
defaultTtl: _config.defaultCacheTtl,
logger: _logger,
);
_queue = queue ?? RequestQueue(logger: _logger);
_syncEngine = syncEngine ??
SyncEngine(
monitor: _monitor,
queue: _queue,
cacheManager: _cache,
logger: _logger,
);
// Merge connectivity and sync states into a single stream.
_setupStateStream();
if (_config.autoStart) {
initialize();
}
}