HubConfig constructor

HubConfig({
  1. required Authenticator authenticator,
  2. SecurityContext? securityContext,
  3. String? tlsDirectory,
  4. Duration tlsReloadInterval = const Duration(hours: 12),
  5. Authorizer? authorizer,
  6. Uint8List? identityCertificate,
  7. Object host = '0.0.0.0',
  8. int port = 8443,
  9. Duration heartbeatTimeout = const Duration(seconds: 30),
  10. PortRange? tunnelPortRange,
  11. String tunnelPublicHost = '',
  12. SecurityContext? tunnelSecurityContext,
  13. String? tunnelTlsDirectory,
  14. Duration tunnelTlsReloadInterval = const Duration(hours: 12),
  15. Clock clock = const SystemClock(),
  16. void logger(
    1. String message
    )?,
  17. AiConfig? aiConfig,
})

Creates a hub configuration.

Provide exactly one of securityContext or tlsDirectory for the main listener's TLS.

Implementation

HubConfig({
  required this.authenticator,
  this.securityContext,
  this.tlsDirectory,
  this.tlsReloadInterval = const Duration(hours: 12),
  Authorizer? authorizer,
  this.identityCertificate,
  this.host = '0.0.0.0',
  this.port = 8443,
  this.heartbeatTimeout = const Duration(seconds: 30),
  this.tunnelPortRange,
  this.tunnelPublicHost = '',
  this.tunnelSecurityContext,
  this.tunnelTlsDirectory,
  this.tunnelTlsReloadInterval = const Duration(hours: 12),
  this.clock = const SystemClock(),
  this.logger,
  this.aiConfig,
}) : assert(
       (securityContext == null) != (tlsDirectory == null),
       'provide exactly one of securityContext or tlsDirectory',
     ),
     authorizer = authorizer ?? const RoleBasedAuthorizer();