LocalHub constructor

LocalHub({
  1. int port = 0,
  2. String bind = 'loopback',
  3. String? masterSecret,
  4. File? stateFile,
  5. bool relayAllowAnyHost = false,
  6. int relayConcurrency = 4,
  7. int relayQueueLimit = 32,
  8. int relayMaxBodyBytes = relayDefaultMaxBodyBytes,
  9. Duration relayConnectTimeout = relayDefaultConnectTimeout,
  10. Duration relayIdleTimeout = relayDefaultIdleTimeout,
})

port defaults to 0 = an ephemeral port (tests). fa hub serve passes the well-known 8787 so zero-config clients (ws://127.0.0.1:8787/ws) meet without configuration. masterSecret password-protects the hub (docs/dap.md): every WS upgrade must then carry the credential as Authorization: Bearer

Implementation

LocalHub({
  this.port = 0,
  this.bind = 'loopback',
  this._masterSecret,
  this._stateFile,
  this.relayAllowAnyHost = false,
  this.relayConcurrency = 4,
  this.relayQueueLimit = 32,
  this.relayMaxBodyBytes = relayDefaultMaxBodyBytes,
  this.relayConnectTimeout = relayDefaultConnectTimeout,
  this.relayIdleTimeout = relayDefaultIdleTimeout,
}) : assert(
       relayConcurrency > 0,
       'relayConcurrency must be positive — 0 wedges the pool forever',
     ),
     assert(relayQueueLimit >= 0, 'relayQueueLimit must not be negative'),
     assert(relayMaxBodyBytes > 0, 'relayMaxBodyBytes must be positive'),
     assert(
       relayConnectTimeout > Duration.zero,
       'relayConnectTimeout must be positive',
     ),
     assert(
       relayIdleTimeout > Duration.zero,
       'relayIdleTimeout must be positive',
     );