connect static method

Future<TlsConnection> connect(
  1. String host,
  2. int port, {
  3. SecurityContext? context,
  4. CancellationToken? cancellationToken,
  5. Duration timeout = const Duration(seconds: 15),
  6. List<String>? supportedProtocols,
})

Implementation

static Future<TlsConnection> connect(String host, int port,
    {SecurityContext? context,
    CancellationToken? cancellationToken,
    Duration timeout = const Duration(seconds: 15),
    List<String>? supportedProtocols}) async {
  final token = cancellationToken ?? CancellationToken();
  token.throwIfCanceled();
  final pending = SecureSocket.connect(host, port,
      context: context,
      timeout: timeout,
      supportedProtocols: supportedProtocols);
  unawaited(pending.then<void>((socket) {
    if (token.isCanceled) socket.destroy();
  }, onError: (Object e, StackTrace s) {}));
  return TlsConnection._(await token.race(pending));
}