Ejemplo n.º 1
0
        private BulkWriteOperationResult CreateAndRunBulkOperation(RetryableWriteContext context, bool async)
        {
            var bulkInsertOperation = new BulkInsertOperation(
                _collectionNamespace,
                new[] { new InsertRequest(new BsonDocument()) },
                _messageEncoderSettings);

            if (async)
            {
                return(bulkInsertOperation.ExecuteAsync(context, CancellationToken.None).GetAwaiter().GetResult());
            }
            else
            {
                return(bulkInsertOperation.Execute(context, CancellationToken.None));
            }
        }
Ejemplo n.º 2
0
 public static bool DoesContextAllowRetries(RetryableWriteContext context) =>
 (bool)Reflector.InvokeStatic(typeof(RetryableWriteOperationExecutor), nameof(DoesContextAllowRetries), context);
Ejemplo n.º 3
0
        private RetryableWriteContext CreateContext(bool retryRequested, bool areRetryableWritesSupported, bool hasSessionId, bool isInTransaction)
        {
            var binding = CreateBinding(areRetryableWritesSupported, hasSessionId, isInTransaction);

            return(RetryableWriteContext.Create(binding, retryRequested, CancellationToken.None));
        }
Ejemplo n.º 4
0
 private RetryableWriteContext CreateRetryableWriteContext(IReadWriteBindingHandle readWriteBindingHandle, bool async)
 {
     return(async
             ? RetryableWriteContext.CreateAsync(readWriteBindingHandle, retryRequested: false, CancellationToken.None).GetAwaiter().GetResult()
             : RetryableWriteContext.Create(readWriteBindingHandle, retryRequested: false, CancellationToken.None));
 }