private async Task <CursorBatch <TDocument> > GetNextBatchAsync()
 {
     using (var connection = await _connectionSource.GetConnectionAsync(Timeout.InfiniteTimeSpan, CancellationToken.None))
     {
         var protocol = CreateGetMoreProtocol();
         return(await protocol.ExecuteAsync(connection, _timeout, _cancellationToken));
     }
 }
Exemple #2
0
        protected async Task <TCommandResult> ExecuteCommandAsync(
            IConnectionSource connectionSource,
            ReadPreference readPreference,
            TimeSpan timeout,
            CancellationToken cancellationToken)
        {
            var slidingTimeout = new SlidingTimeout(timeout);

            using (var connection = await connectionSource.GetConnectionAsync(slidingTimeout, cancellationToken))
            {
                var protocol = CreateProtocol(connectionSource.ServerDescription, readPreference);
                return(await protocol.ExecuteAsync(connection, slidingTimeout, cancellationToken));
            }
        }
Exemple #3
0
        public static async Task <TResult> ExecuteAsync <TResult>(
            this IWireProtocol <TResult> protocol,
            IConnectionSource connectionSource,
            TimeSpan timeout = default(TimeSpan),
            CancellationToken cancellationToken = default(CancellationToken))
        {
            Ensure.IsNotNull(protocol, "protocol");
            var slidingTimeout = new SlidingTimeout(timeout);

            using (var connection = await connectionSource.GetConnectionAsync(slidingTimeout, cancellationToken))
            {
                return(await protocol.ExecuteAsync(connection, slidingTimeout, cancellationToken));
            }
        }
Exemple #4
0
 // static methods
 public static IConnectionHandle GetConnection(this IConnectionSource connectionSource, TimeSpan timeout = default(TimeSpan), CancellationToken cancellationToken = default(CancellationToken))
 {
     return(connectionSource.GetConnectionAsync(timeout, cancellationToken).GetAwaiter().GetResult());
 }