public Task<bool> ConnectAsync(Action<IConnectConfigurator> configure){ var c = new ConnectConfigurator(); configure(c); _socket = c.Build(); _subscription = _subscription ?? (_subscription = _packets.Subscribe(x => ProcessPackets(x, _trades))); var tcs = new TaskCompletionSource<bool>(_socket); var settings = c.Settings; _socket.BeginConnect(settings.Address, settings.Port, EndConnect, tcs); return tcs.Task; }
public Task <bool> ConnectAsync(Action <IConnectConfigurator> configure) { var c = new ConnectConfigurator(); configure(c); _socket = c.Build(); _subscription = _subscription ?? (_subscription = _packets.Subscribe(x => ProcessPackets(x, _trades))); var tcs = new TaskCompletionSource <bool>(_socket); var settings = c.Settings; _socket.BeginConnect(settings.Address, settings.Port, EndConnect, tcs); return(tcs.Task); }