connect static method

Future<TcpConnection> connect(
  1. String host,
  2. int port, {
  3. CancellationToken? cancellationToken,
  4. Duration timeout = const Duration(seconds: 15),
})

Implementation

static Future<TcpConnection> connect(String host, int port,
    {CancellationToken? cancellationToken,
    Duration timeout = const Duration(seconds: 15)}) async {
  final token = cancellationToken ?? CancellationToken();
  token.throwIfCanceled();
  final task = await Socket.startConnect(host, port);
  final remove = token.onCancel(task.cancel);
  try {
    final pending = task.socket.timeout(timeout, onTimeout: () {
      task.cancel();
      throw TimeoutException('TCP connection timed out', timeout);
    });
    return TcpConnection(await token.race(pending));
  } finally {
    remove();
  }
}