public async Task <Operation> SendAsync(IMaintenanceOperation <OperationIdResult> operation, CancellationToken token = default) { using (GetContext(out JsonOperationContext context)) { var command = operation.GetCommand(RequestExecutor.Conventions, context); await RequestExecutor.ExecuteAsync(command, context, sessionInfo : null, token : token).ConfigureAwait(false); return(new Operation(RequestExecutor, () => _store.Changes(_databaseName), RequestExecutor.Conventions, command.Result.OperationId, command.SelectedNodeTag ?? command.Result.OperationNodeTag)); } }
public async Task <Operation> SendAsync(IServerOperation <OperationIdResult> operation, CancellationToken token = default(CancellationToken)) { using (_requestExecutor.ContextPool.AllocateOperationContext(out var context)) { var command = operation.GetCommand(_requestExecutor.Conventions, context); await _requestExecutor.ExecuteAsync(command, context, token).ConfigureAwait(false); return(new ServerWideOperation(_requestExecutor, () => _store.Changes(), _requestExecutor.Conventions, command.Result.OperationId)); } }