public async Task <EpoxyConnection> ConnectToAsync(IPEndPoint endpoint, CancellationToken ct) { logger.Site().Information("Connecting to {0}.", endpoint); Socket socket = MakeClientSocket(); await Task.Factory.FromAsync(socket.BeginConnect, socket.EndConnect, endpoint, state : null); // TODO: keep these in some master collection for shutdown var connection = EpoxyConnection.MakeClientConnection(this, socket, logger, metrics); await connection.StartAsync(); return(connection); }
public async Task <EpoxyConnection> ConnectToAsync(IPEndPoint endpoint, CancellationToken ct) { Log.Information("{0}.{1}: Connecting to {2}.", nameof(EpoxyTransport), nameof(ConnectToAsync), endpoint); Socket socket = MakeClientSocket(); await Task.Factory.FromAsync(socket.BeginConnect, socket.EndConnect, endpoint, state : null); // TODO: keep these in some master collection for shutdown var connection = EpoxyConnection.MakeClientConnection(this, socket); await connection.StartAsync(); return(connection); }