Class RetryableWriteCommandOperationBase
- Namespace
- MongoDB.Driver.Core.Operations
- Assembly
- MongoDB.Driver.Core.dll
Represents a base class for a delete, insert or update command operation.
public abstract class RetryableWriteCommandOperationBase : IWriteOperation<BsonDocument>, IRetryableWriteOperation<BsonDocument>, IExecutableInRetryableWriteContext<BsonDocument>
- Inheritance
-
RetryableWriteCommandOperationBase
- Implements
- Derived
- Inherited Members
- Extension Methods
Constructors
RetryableWriteCommandOperationBase(DatabaseNamespace, MessageEncoderSettings)
Initializes a new instance of the RetryableWriteCommandOperationBase class.
public RetryableWriteCommandOperationBase(DatabaseNamespace databaseNamespace, MessageEncoderSettings messageEncoderSettings)
Parameters
databaseNamespaceDatabaseNamespaceThe database namespace.
messageEncoderSettingsMessageEncoderSettingsThe message encoder settings.
Properties
Comment
Gets or sets the comment.
public BsonValue Comment { get; set; }
Property Value
- BsonValue
The comment.
DatabaseNamespace
Gets the database namespace.
public DatabaseNamespace DatabaseNamespace { get; }
Property Value
- DatabaseNamespace
The database namespace.
IsOrdered
Gets or sets a value indicating whether the server should process the requests in order.
public bool IsOrdered { get; set; }
Property Value
- bool
A value indicating whether the server should process the requests in order.
MaxBatchCount
Gets or sets the maximum batch count.
public int? MaxBatchCount { get; set; }
Property Value
- int?
The maximum batch count.
MessageEncoderSettings
Gets the message encoder settings.
public MessageEncoderSettings MessageEncoderSettings { get; }
Property Value
- MessageEncoderSettings
The message encoder settings.
RetryRequested
Gets or sets a value indicating whether retry is enabled for the operation.
public bool RetryRequested { get; set; }
Property Value
- bool
A value indicating whether retry is enabled.
WriteConcern
Gets or sets the write concern.
public WriteConcern WriteConcern { get; set; }
Property Value
- WriteConcern
The write concern.
Methods
CreateCommand(ICoreSessionHandle, int, long?)
Creates the command.
protected abstract BsonDocument CreateCommand(ICoreSessionHandle session, int attempt, long? transactionNumber)
Parameters
sessionICoreSessionHandleThe session.
attemptintThe attempt.
transactionNumberlong?The transaction number.
Returns
- BsonDocument
A command.
CreateCommandPayloads(IChannelHandle, int)
Creates the command payloads.
protected abstract IEnumerable<Type1CommandMessageSection> CreateCommandPayloads(IChannelHandle channel, int attempt)
Parameters
channelIChannelHandleThe channel.
attemptintThe attempt.
Returns
- IEnumerable<Type1CommandMessageSection>
The command payloads.
Execute(IWriteBinding, CancellationToken)
Executes the operation.
public virtual BsonDocument Execute(IWriteBinding binding, CancellationToken cancellationToken)
Parameters
bindingIWriteBindingThe binding.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- BsonDocument
The result of the operation.
Execute(RetryableWriteContext, CancellationToken)
Executes the first attempt.
public virtual BsonDocument Execute(RetryableWriteContext context, CancellationToken cancellationToken)
Parameters
contextRetryableWriteContextThe context.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- BsonDocument
The result.
ExecuteAsync(IWriteBinding, CancellationToken)
Executes the operation.
public virtual Task<BsonDocument> ExecuteAsync(IWriteBinding binding, CancellationToken cancellationToken)
Parameters
bindingIWriteBindingThe binding.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task<BsonDocument>
A Task whose result is the result of the operation.
ExecuteAsync(RetryableWriteContext, CancellationToken)
Executes the first attempt.
public virtual Task<BsonDocument> ExecuteAsync(RetryableWriteContext context, CancellationToken cancellationToken)
Parameters
contextRetryableWriteContextThe context.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task<BsonDocument>
The result.
ExecuteAttempt(RetryableWriteContext, int, long?, CancellationToken)
Executes the first attempt.
public BsonDocument ExecuteAttempt(RetryableWriteContext context, int attempt, long? transactionNumber, CancellationToken cancellationToken)
Parameters
contextRetryableWriteContextThe context.
attemptintThe attempt.
transactionNumberlong?The transaction number.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- BsonDocument
The result.
ExecuteAttemptAsync(RetryableWriteContext, int, long?, CancellationToken)
Executes the first attempt.
public Task<BsonDocument> ExecuteAttemptAsync(RetryableWriteContext context, int attempt, long? transactionNumber, CancellationToken cancellationToken)
Parameters
contextRetryableWriteContextThe context.
attemptintThe attempt.
transactionNumberlong?The transaction number.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task<BsonDocument>
The result.