Skip to content

Commit 39986d6

Browse files
authored
[Storage] [DataMovement] Refactor Try-style methods (#46645)
* Initial commit * Changed wording of doc comments
1 parent 601b82b commit 39986d6

File tree

8 files changed

+23
-26
lines changed

8 files changed

+23
-26
lines changed

sdk/storage/Azure.Storage.DataMovement/src/DataTransferInternalState.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -86,10 +86,10 @@ public DataTransferStatus GetTransferStatus()
8686
/// Sets the completion status
8787
/// </summary>
8888
/// <param name="state"></param>
89-
/// <returns>Returns whether or not the status has been changed/set</returns>
90-
public bool TrySetTransferState(DataTransferState state)
89+
/// <returns>Returns whether or not the status has been changed from its original state.</returns>
90+
public bool SetTransferState(DataTransferState state)
9191
{
92-
if (_status.TrySetTransferStateChange(state))
92+
if (_status.SetTransferStateChange(state))
9393
{
9494
if (DataTransferState.Completed == _status.State ||
9595
DataTransferState.Paused == _status.State)
@@ -104,9 +104,9 @@ public bool TrySetTransferState(DataTransferState state)
104104
return false;
105105
}
106106

107-
public bool TrySetFailedItemsState() => _status.TrySetFailedItem();
107+
public bool SetFailedItemsState() => _status.SetFailedItem();
108108

109-
public bool TrySetSkippedItemsState() => _status.TrySetSkippedItem();
109+
public bool SetSkippedItemsState() => _status.SetSkippedItem();
110110

111111
internal bool CanPause()
112112
=> DataTransferState.InProgress == _status.State;
@@ -119,7 +119,7 @@ public async Task PauseIfRunningAsync(CancellationToken cancellationToken)
119119
}
120120
CancellationHelper.ThrowIfCancellationRequested(cancellationToken);
121121
// Call the inner cancellation token to stop the transfer job
122-
TrySetTransferState(DataTransferState.Pausing);
122+
SetTransferState(DataTransferState.Pausing);
123123
if (TriggerCancellation())
124124
{
125125
// Wait until full pause has completed.

sdk/storage/Azure.Storage.DataMovement/src/DataTransferStatus.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,8 @@ protected internal DataTransferStatus(DataTransferState state, bool hasFailureIt
7575
///
7676
/// This should only be triggered when a failed item has been seen.
7777
/// </summary>
78-
/// <returns>True if <see cref="HasFailedItems"/> was updated. False otherwise.</returns>
79-
internal bool TrySetFailedItem()
78+
/// <returns>True if this was the first time <see cref="HasFailedItems"/> was updated. False otherwise.</returns>
79+
internal bool SetFailedItem()
8080
{
8181
return Interlocked.Exchange(ref _hasFailedItemValue, 1) != 1;
8282
}
@@ -86,8 +86,8 @@ internal bool TrySetFailedItem()
8686
///
8787
/// This should only be triggered when a skipped item has been seen.
8888
/// </summary>
89-
/// /// <returns>True if <see cref="HasSkippedItems"/> was updated. False otherwise.</returns>
90-
internal bool TrySetSkippedItem()
89+
/// /// <returns>True if this was the first time <see cref="HasSkippedItems"/> was updated. False otherwise.</returns>
90+
internal bool SetSkippedItem()
9191
{
9292
return Interlocked.Exchange(ref _hasSkippedItemValue, 1) != 1;
9393
}
@@ -98,8 +98,8 @@ internal bool TrySetSkippedItem()
9898
///
9999
/// This should only be triggered when the state updates.
100100
/// </summary>
101-
/// <returns>True if <see cref="State"/> was updated. False otherwise.</returns>
102-
internal bool TrySetTransferStateChange(DataTransferState state)
101+
/// <returns>True if <see cref="State"/> was changed from its original state. False otherwise.</returns>
102+
internal bool SetTransferStateChange(DataTransferState state)
103103
{
104104
return Interlocked.Exchange(ref _stateValue, (int)state) != (int)state;
105105
}

sdk/storage/Azure.Storage.DataMovement/src/JobPartInternal.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -275,7 +275,7 @@ internal async Task TriggerCancellationAsync()
275275
/// <param name="transferState"></param>
276276
internal async Task OnTransferStateChangedAsync(DataTransferState transferState)
277277
{
278-
if (JobPartStatus.TrySetTransferStateChange(transferState))
278+
if (JobPartStatus.SetTransferStateChange(transferState))
279279
{
280280
// Progress tracking, do before invoking the event below
281281
if (transferState == DataTransferState.InProgress)
@@ -355,7 +355,7 @@ await TransferSkippedEventHandler.RaiseAsync(
355355

356356
// Update the JobPartStatus. If was already updated (e.g. there was a failed item before)
357357
// then don't raise the PartTransferStatusEventHandler
358-
if (JobPartStatus.TrySetSkippedItem())
358+
if (JobPartStatus.SetSkippedItem())
359359
{
360360
await PartTransferStatusEventHandler.RaiseAsync(
361361
new TransferStatusEventArgs(
@@ -409,7 +409,7 @@ await TransferFailedEventHandler.RaiseAsync(
409409

410410
// Update the JobPartStatus. If was already updated (e.g. there was a failed item before)
411411
// then don't raise the PartTransferStatusEventHandler
412-
if (JobPartStatus.TrySetFailedItem())
412+
if (JobPartStatus.SetFailedItem())
413413
{
414414
await PartTransferStatusEventHandler.RaiseAsync(
415415
new TransferStatusEventArgs(

sdk/storage/Azure.Storage.DataMovement/src/ServiceToServiceTransferJob.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ public override async IAsyncEnumerable<JobPartInternal> ProcessJobToJobPartAsync
105105
{
106106
if (!part.JobPartStatus.HasCompletedSuccessfully)
107107
{
108-
part.JobPartStatus.TrySetTransferStateChange(DataTransferState.Queued);
108+
part.JobPartStatus.SetTransferStateChange(DataTransferState.Queued);
109109
yield return part;
110110
}
111111
}

sdk/storage/Azure.Storage.DataMovement/src/StreamToUriTransferJob.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ public override async IAsyncEnumerable<JobPartInternal> ProcessJobToJobPartAsync
103103
{
104104
if (!part.JobPartStatus.HasCompletedSuccessfully)
105105
{
106-
part.JobPartStatus.TrySetTransferStateChange(DataTransferState.Queued);
106+
part.JobPartStatus.SetTransferStateChange(DataTransferState.Queued);
107107
yield return part;
108108
}
109109
}

sdk/storage/Azure.Storage.DataMovement/src/TransferJobInternal.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ private TransferJobInternal(
150150
Argument.AssertNotNull(clientDiagnostics, nameof(clientDiagnostics));
151151

152152
_dataTransfer = dataTransfer ?? throw Errors.ArgumentNull(nameof(dataTransfer));
153-
_dataTransfer.TransferStatus.TrySetTransferStateChange(DataTransferState.Queued);
153+
_dataTransfer.TransferStatus.SetTransferStateChange(DataTransferState.Queued);
154154
_checkpointer = checkPointer;
155155
_arrayPool = arrayPool;
156156
_jobParts = new List<JobPartInternal>();
@@ -344,15 +344,15 @@ public async Task JobPartEvent(TransferStatusEventArgs args)
344344
}
345345
else if (jobPartStatus.HasFailedItems)
346346
{
347-
if (_dataTransfer._state.TrySetFailedItemsState())
347+
if (_dataTransfer._state.SetFailedItemsState())
348348
{
349349
await SetCheckpointerStatus().ConfigureAwait(false);
350350
await OnJobPartStatusChangedAsync().ConfigureAwait(false);
351351
}
352352
}
353353
else if (jobPartStatus.HasSkippedItems)
354354
{
355-
if (_dataTransfer._state.TrySetSkippedItemsState())
355+
if (_dataTransfer._state.SetSkippedItemsState())
356356
{
357357
await SetCheckpointerStatus().ConfigureAwait(false);
358358
await OnJobPartStatusChangedAsync().ConfigureAwait(false);
@@ -387,7 +387,7 @@ public async Task JobPartEvent(TransferStatusEventArgs args)
387387

388388
public async Task OnJobStateChangedAsync(DataTransferState state)
389389
{
390-
if (_dataTransfer._state.TrySetTransferState(state))
390+
if (_dataTransfer._state.SetTransferState(state))
391391
{
392392
// If we are in a final state, dispose the JobPartEvent handlers
393393
if (state == DataTransferState.Completed ||

sdk/storage/Azure.Storage.DataMovement/src/UriToStreamTransferJob.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ public override async IAsyncEnumerable<JobPartInternal> ProcessJobToJobPartAsync
103103
{
104104
if (!part.JobPartStatus.HasCompletedSuccessfully)
105105
{
106-
part.JobPartStatus.TrySetTransferStateChange(DataTransferState.Queued);
106+
part.JobPartStatus.SetTransferStateChange(DataTransferState.Queued);
107107
yield return part;
108108
}
109109
}

sdk/storage/Azure.Storage.DataMovement/tests/DataTransferTests.cs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -161,10 +161,7 @@ public async Task TryPauseAsync()
161161
Assert.AreEqual(DataTransferState.Pausing, transfer.TransferStatus.State);
162162

163163
// Assert
164-
if (!transfer._state.TrySetTransferState(DataTransferState.Paused))
165-
{
166-
Assert.Fail("Unable to set the transfer status internally to the DataTransfer.");
167-
}
164+
Assert.IsTrue(transfer._state.SetTransferState(DataTransferState.Paused));
168165

169166
await pauseTask;
170167

0 commit comments

Comments
 (0)