SocketService constructor

SocketService(
  1. String url, {
  2. Map<String, dynamic>? queryParams,
  3. void onConnect()?,
  4. void onError(
    1. dynamic error
    )?,
  5. void onDisconnect(
    1. dynamic reason
    )?,
  6. void onReconnectAttempt(
    1. int attempt
    )?,
})

Factory: Return existing or create new instance per URL

Implementation

factory SocketService(
    String url, {
      Map<String, dynamic>? queryParams,
      void Function()? onConnect,
      void Function(dynamic error)? onError,
      void Function(dynamic reason)? onDisconnect,
      void Function(int attempt)? onReconnectAttempt,
    }) {
  if (_instances.containsKey(url)) {
    return _instances[url]!;
  }

  final instance = SocketService._internal(
    url,
    queryParams: queryParams,
    onConnectCallback: onConnect,
    onErrorCallback: onError,
    onDisconnectCallback: onDisconnect,
    onReconnectAttemptCallback: onReconnectAttempt,
  );

  _instances[url] = instance;
  return instance;
}