NetworkConfig.withGeneratedId constructor

NetworkConfig.withGeneratedId({
  1. List<String> listenAddresses = defaultListenAddresses,
  2. List<String> bootstrapPeers = defaultBootstrapPeers,
  3. int maxConnections = 50,
  4. Duration connectionTimeout = const Duration(seconds: 30),
  5. bool enableNatTraversal = false,
  6. bool enableMDNS = true,
  7. bool enableWebTransport = true,
  8. bool enableWebRtc = true,
  9. bool enableQuic = false,
  10. int quicListenPort = 4002,
  11. int quicMaxStreams = 100,
  12. bool preferQuic = false,
  13. CircuitRelayConfig? circuitRelay,
  14. List<String> stunServers = const [],
  15. List<TurnServer> turnServers = const [],
})

Creates a network configuration with the given options and a generated Peer ID.

Implementation

factory NetworkConfig.withGeneratedId({
  List<String> listenAddresses = defaultListenAddresses,
  List<String> bootstrapPeers = defaultBootstrapPeers,
  int maxConnections = 50,
  Duration connectionTimeout = const Duration(seconds: 30),
  bool enableNatTraversal = false,
  bool enableMDNS = true,
  bool enableWebTransport = true,
  bool enableWebRtc = true,
  bool enableQuic = false,
  int quicListenPort = 4002,
  int quicMaxStreams = 100,
  bool preferQuic = false,
  CircuitRelayConfig? circuitRelay,
  List<String> stunServers = const [],
  List<TurnServer> turnServers = const [],
}) {
  return NetworkConfig(
    listenAddresses: listenAddresses,
    bootstrapPeers: bootstrapPeers,
    maxConnections: maxConnections,
    connectionTimeout: connectionTimeout,
    enableNatTraversal: enableNatTraversal,
    enableMDNS: enableMDNS,
    enableWebTransport: enableWebTransport,
    enableWebRtc: enableWebRtc,
    enableQuic: enableQuic,
    quicListenPort: quicListenPort,
    quicMaxStreams: quicMaxStreams,
    preferQuic: preferQuic,
    circuitRelay: circuitRelay ?? const CircuitRelayConfig(),
    stunServers: stunServers,
    turnServers: turnServers,
    nodeId: _generateDefaultNodeId(),
  );
}