CqlSharp.CqlConnection.OpenInternal C# (CSharp) Метод

OpenInternal() публичный Метод

Opens the connection with full cancellation support.
CqlConnection Open has been aborted by user CqlConnection.Open timed out.
public OpenInternal ( ) : void
Результат void
        public void OpenInternal()
        {
            try
            {
                //dispose any old cancel tokens
                if(_userCancelTokenSource != null)
                    _userCancelTokenSource.Dispose();

                if(_openCancellationTokenSource != null)
                    _openCancellationTokenSource.Dispose();


                //setup cancel support by user
                _userCancelTokenSource = new CancellationTokenSource();

                //add timout cancellation if required
                if(ConnectionTimeout > 0)
                {
                    var timeoutSource = new CancellationTokenSource(TimeSpan.FromSeconds(ConnectionTimeout));
                    _openCancellationTokenSource =
                        CancellationTokenSource.CreateLinkedTokenSource(_userCancelTokenSource.Token,
                                                                        timeoutSource.Token);
                }
                else
                    _openCancellationTokenSource = _userCancelTokenSource;

                //call open synchronously
                Scheduler.RunSynchronously(() => OpenAsyncInternal(_openCancellationTokenSource.Token));
            }
            catch(OperationCanceledException ocex)
            {
                //check if user abort or timout
                if(_openCancellationTokenSource != null && ocex.CancellationToken == _openCancellationTokenSource.Token)
                {
                    //check if user abort
                    if(_userCancelTokenSource != null && _userCancelTokenSource.IsCancellationRequested)
                        throw new CqlException("CqlConnection Open has been aborted by user");

                    //timout
                    throw new TimeoutException("CqlConnection.Open timed out.");
                }

                //some other cancellation: rethrow
                throw;
            }
        }