startConnect method Null safety

Future<ConnectionTask<SecureSocket>> startConnect(
  1. dynamic host,
  2. int port,
  3. {SecurityContext? context,
  4. bool onBadCertificate(
    1. X509Certificate certificate
  5. List<String>? supportedProtocols}

Like connect, but returns a Future that completes with a ConnectionTask that can be cancelled if the SecureSocket is no longer needed.


static Future<ConnectionTask<SecureSocket>> startConnect(host, int port,
    {SecurityContext? context,
    bool onBadCertificate(X509Certificate certificate)?,
    List<String>? supportedProtocols}) {
  return RawSecureSocket.startConnect(host, port,
          context: context,
          onBadCertificate: onBadCertificate,
          supportedProtocols: supportedProtocols)
      .then((rawState) {
    Future<SecureSocket> socket =
        rawState.socket.then((rawSocket) => new SecureSocket._(rawSocket));
    return new ConnectionTask<SecureSocket>._(socket, rawState._onCancel);