public async Task <BulkWriteOperationResult> ExecuteAsync(IWriteBinding binding, TimeSpan timeout, CancellationToken cancellationToken) { var slidingTimeout = new SlidingTimeout(timeout); using (var connectionSource = await binding.GetWriteConnectionSourceAsync(slidingTimeout, cancellationToken)) using (var connection = await connectionSource.GetConnectionAsync(slidingTimeout, cancellationToken)) { return(await ExecuteAsync(connection, slidingTimeout, cancellationToken)); } }
public async Task <WriteConcernResult> ExecuteAsync(IWriteBinding binding, TimeSpan timeout = default(TimeSpan), CancellationToken cancellationToken = default(CancellationToken)) { Ensure.IsNotNull(binding, "binding"); var slidingTimeout = new SlidingTimeout(timeout); using (var connectionSource = await binding.GetWriteConnectionSourceAsync(slidingTimeout, cancellationToken)) using (var connection = await connectionSource.GetConnectionAsync(slidingTimeout, cancellationToken)) { return(await ExecuteAsync(connection, slidingTimeout, cancellationToken)); } }
public static async Task <TResult> ExecuteAsync <TResult>( this IWireProtocol <TResult> protocol, IWriteBinding binding, TimeSpan timeout = default(TimeSpan), CancellationToken cancellationToken = default(CancellationToken)) { Ensure.IsNotNull(protocol, "protocol"); var slidingTimeout = new SlidingTimeout(timeout); using (var connectionSource = await binding.GetWriteConnectionSourceAsync(slidingTimeout, cancellationToken)) using (var connection = await connectionSource.GetConnectionAsync(slidingTimeout, cancellationToken)) { return(await protocol.ExecuteAsync(connection, slidingTimeout, cancellationToken)); } }
// methods public async Task <Cursor <BsonDocument> > ExecuteAsync(IWriteBinding binding, TimeSpan timeout = default(TimeSpan), CancellationToken cancellationToken = default(CancellationToken)) { Ensure.IsNotNull(binding, "binding"); var slidingTimeout = new SlidingTimeout(timeout); using (var connectionSource = await binding.GetWriteConnectionSourceAsync(slidingTimeout, cancellationToken)) { var command = CreateCommand(); var operation = new WriteCommandOperation(CollectionNamespace.DatabaseNamespace, command, MessageEncoderSettings); var result = await operation.ExecuteAsync(connectionSource, slidingTimeout, cancellationToken); return(CreateCursor(connectionSource, command, result, timeout, cancellationToken)); } }
public Task <IConnectionSourceHandle> GetWriteConnectionSourceAsync(TimeSpan timeout, System.Threading.CancellationToken cancellationToken) { ThrowIfDisposed(); return(_writeBinding.GetWriteConnectionSourceAsync(timeout, cancellationToken)); }
// static methods public static IConnectionSource GetWriteConnectionSource(this IWriteBinding binding, TimeSpan timeout = default(TimeSpan), CancellationToken cancellationToken = default(CancellationToken)) { return(binding.GetWriteConnectionSourceAsync(timeout, cancellationToken).GetAwaiter().GetResult()); }