From f58a42a1caf095d0b7bf05f18d8e007f931f8ad7 Mon Sep 17 00:00:00 2001 From: ThatBen Date: Mon, 3 Mar 2025 15:56:52 +0100 Subject: [PATCH] Removes waitForSubmitted from RequestStorage call. --- ProjectPlugins/CodexClient/MarketplaceAccess.cs | 7 +------ ProjectPlugins/CodexClient/StoragePurchaseContract.cs | 4 +++- Tools/AutoClient/Modes/FolderStore/FileSaver.cs | 4 +++- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/ProjectPlugins/CodexClient/MarketplaceAccess.cs b/ProjectPlugins/CodexClient/MarketplaceAccess.cs index 651c7f93..b08acfcc 100644 --- a/ProjectPlugins/CodexClient/MarketplaceAccess.cs +++ b/ProjectPlugins/CodexClient/MarketplaceAccess.cs @@ -46,12 +46,7 @@ namespace CodexClient Log($"Storage requested successfully. PurchaseId: '{response}'."); - var contract = new StoragePurchaseContract(log, codexAccess, response, purchase, hooks); - contract.WaitForStorageContractSubmitted(); - - hooks.OnStorageContractSubmitted(contract); - - return contract; + return new StoragePurchaseContract(log, codexAccess, response, purchase, hooks); } public string MakeStorageAvailable(StorageAvailability availability) diff --git a/ProjectPlugins/CodexClient/StoragePurchaseContract.cs b/ProjectPlugins/CodexClient/StoragePurchaseContract.cs index 1ddaff85..a9603dbf 100644 --- a/ProjectPlugins/CodexClient/StoragePurchaseContract.cs +++ b/ProjectPlugins/CodexClient/StoragePurchaseContract.cs @@ -28,6 +28,7 @@ namespace CodexClient private DateTime? contractSubmittedUtc = DateTime.UtcNow; private DateTime? contractStartedUtc; private DateTime? contractFinishedUtc; + private string lastState = string.Empty; public StoragePurchaseContract(ILog log, CodexAccess codexAccess, string purchaseId, StoragePurchaseRequest purchase, ICodexNodeHooks hooks) { @@ -54,8 +55,10 @@ namespace CodexClient public void WaitForStorageContractSubmitted() { + var raiseHook = lastState != "submitted"; WaitForStorageContractState(gracePeriod, "submitted", sleep: 200); contractSubmittedUtc = DateTime.UtcNow; + if (raiseHook) hooks.OnStorageContractSubmitted(this); LogSubmittedDuration(); AssertDuration(PendingToSubmitted, gracePeriod, nameof(PendingToSubmitted)); } @@ -102,7 +105,6 @@ namespace CodexClient private void WaitForStorageContractState(TimeSpan timeout, string desiredState, int sleep = 1000) { - var lastState = ""; var waitStart = DateTime.UtcNow; Log($"Waiting for {Time.FormatDuration(timeout)} to reach state '{desiredState}'."); diff --git a/Tools/AutoClient/Modes/FolderStore/FileSaver.cs b/Tools/AutoClient/Modes/FolderStore/FileSaver.cs index 62ddf5e2..733044d2 100644 --- a/Tools/AutoClient/Modes/FolderStore/FileSaver.cs +++ b/Tools/AutoClient/Modes/FolderStore/FileSaver.cs @@ -158,6 +158,9 @@ namespace AutoClient.Modes.FolderStore WaitForSubmitted(request); WaitForStarted(request); + stats.StorageRequestStats.SuccessfullyStarted++; + saveChanges(); + Log($"Successfully started new purchase: '{entry.PurchaseId}' for {Time.FormatDuration(request.Purchase.Duration)}"); } catch (Exception exc) @@ -178,7 +181,6 @@ namespace AutoClient.Modes.FolderStore entry.EncodedCid = request.Purchase.ContentId.Id; entry.PurchaseId = request.PurchaseId; entry.PurchaseFinishedUtc = DateTime.UtcNow + request.Purchase.Duration; - stats.StorageRequestStats.SuccessfullyStarted++; saveChanges(); Log("Saved new purchaseId: " + entry.PurchaseId); return request;