NetworkConfig.fromJson constructor
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?,
);
}