connect static method
Future<TcpConnection>
connect(
- String host,
- int port, {
- CancellationToken? cancellationToken,
- 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();
}
}