copyWith method
WebSocketConfig
copyWith({
- String? url,
- Object? protocols = _unset,
- Object? headers = _unset,
- Object? pingInterval = _unset,
- Duration? connectionTimeout,
- Duration? reconnectDelay,
- int? maxReconnectAttempts,
- bool? autoReconnect,
- bool? enableLogging,
- bool? enableHeartbeat,
- Duration? heartbeatInterval,
- Duration? heartbeatTimeout,
- String? heartbeatMessage,
- Object? expectedPongMessage = _unset,
- Object? expectedPongMessagePattern = _unset,
- int? maxMissedHeartbeats,
- bool? useExponentialBackoff,
- Duration? maxReconnectDelay,
- double? backoffMultiplier,
- Object? httpClient = _unset,
- bool? enableMessageQueue,
- int? maxQueueSize,
- Object? messageQueueTimeout = _unset,
- bool? enableAck,
- Duration? ackTimeout,
- int? maxAckRetries,
Returns a copy of this config with the given fields replaced.
Nullable fields (protocols, headers, pingInterval,
expectedPongMessage, expectedPongMessagePattern, httpClient,
messageQueueTimeout) can be explicitly cleared by passing null:
final cleared = config.copyWith(protocols: null);
Implementation
WebSocketConfig copyWith({
String? url,
Object? protocols = _unset,
Object? headers = _unset,
Object? pingInterval = _unset,
Duration? connectionTimeout,
Duration? reconnectDelay,
int? maxReconnectAttempts,
bool? autoReconnect,
bool? enableLogging,
bool? enableHeartbeat,
Duration? heartbeatInterval,
Duration? heartbeatTimeout,
String? heartbeatMessage,
Object? expectedPongMessage = _unset,
Object? expectedPongMessagePattern = _unset,
int? maxMissedHeartbeats,
bool? useExponentialBackoff,
Duration? maxReconnectDelay,
double? backoffMultiplier,
Object? httpClient = _unset,
bool? enableMessageQueue,
int? maxQueueSize,
Object? messageQueueTimeout = _unset,
bool? enableAck,
Duration? ackTimeout,
int? maxAckRetries,
}) {
return WebSocketConfig(
url: url ?? this.url,
protocols: identical(protocols, _unset)
? this.protocols
: protocols as List<String>?,
headers: identical(headers, _unset)
? this.headers
: headers as Map<String, String>?,
pingInterval: identical(pingInterval, _unset)
? this.pingInterval
: pingInterval as Duration?,
connectionTimeout: connectionTimeout ?? this.connectionTimeout,
reconnectDelay: reconnectDelay ?? this.reconnectDelay,
maxReconnectAttempts: maxReconnectAttempts ?? this.maxReconnectAttempts,
autoReconnect: autoReconnect ?? this.autoReconnect,
enableLogging: enableLogging ?? this.enableLogging,
enableHeartbeat: enableHeartbeat ?? this.enableHeartbeat,
heartbeatInterval: heartbeatInterval ?? this.heartbeatInterval,
heartbeatTimeout: heartbeatTimeout ?? this.heartbeatTimeout,
heartbeatMessage: heartbeatMessage ?? this.heartbeatMessage,
expectedPongMessage: identical(expectedPongMessage, _unset)
? this.expectedPongMessage
: expectedPongMessage as String?,
expectedPongMessagePattern: identical(expectedPongMessagePattern, _unset)
? this.expectedPongMessagePattern
: expectedPongMessagePattern as RegExp?,
maxMissedHeartbeats: maxMissedHeartbeats ?? this.maxMissedHeartbeats,
useExponentialBackoff:
useExponentialBackoff ?? this.useExponentialBackoff,
maxReconnectDelay: maxReconnectDelay ?? this.maxReconnectDelay,
backoffMultiplier: backoffMultiplier ?? this.backoffMultiplier,
httpClient:
identical(httpClient, _unset) ? this.httpClient : httpClient,
enableMessageQueue: enableMessageQueue ?? this.enableMessageQueue,
maxQueueSize: maxQueueSize ?? this.maxQueueSize,
messageQueueTimeout: identical(messageQueueTimeout, _unset)
? this.messageQueueTimeout
: messageQueueTimeout as Duration?,
enableAck: enableAck ?? this.enableAck,
ackTimeout: ackTimeout ?? this.ackTimeout,
maxAckRetries: maxAckRetries ?? this.maxAckRetries,
);
}