NetworkConfig.fromJson constructor

NetworkConfig.fromJson(
  1. Map<String, dynamic> json
)

Creates a network configuration from a JSON map.

Implementation

factory NetworkConfig.fromJson(Map<String, dynamic> json) {
  return NetworkConfig(
    listenAddresses: (json['listenAddresses'] as List?)?.cast<String>() ?? [],
    bootstrapPeers: (json['bootstrapPeers'] as List?)?.cast<String>() ?? [],
    maxConnections: json['maxConnections'] as int? ?? 50,
    connectionTimeout: json['connectionTimeoutSeconds'] != null
        ? Duration(seconds: json['connectionTimeoutSeconds'] as int)
        : const Duration(seconds: 30),
    enableNatTraversal: json['enableNatTraversal'] as bool? ?? false,
    enableMDNS: json['enableMDNS'] as bool? ?? true,
    enableWebTransport: json['enableWebTransport'] as bool? ?? true,
    enableWebRtc: json['enableWebRtc'] as bool? ?? true,
    enableQuic: json['enableQuic'] as bool? ?? false,
    quicListenPort: json['quicListenPort'] as int? ?? 4002,
    quicMaxStreams: json['quicMaxStreams'] as int? ?? 100,
    preferQuic: json['preferQuic'] as bool? ?? false,
    circuitRelay: json['circuitRelay'] != null
        ? CircuitRelayConfig.fromJson(
            Map<String, dynamic>.from(json['circuitRelay'] as Map),
          )
        : const CircuitRelayConfig(),
    stunServers: (json['stunServers'] as List?)?.cast<String>() ?? const [],
    turnServers:
        (json['turnServers'] as List?)
            ?.map(
              (e) => TurnServer.fromJson(Map<String, dynamic>.from(e as Map)),
            )
            .toList() ??
        const [],
    nodeId: json['nodeId'] as String?,
    delegatedRoutingEndpoint: json['delegatedRoutingEndpoint'] as String?,
  );
}