Skip to content

Commit a46b930

Browse files
committed
abstract payloadstore
1 parent 8ce977f commit a46b930

File tree

3 files changed

+10
-10
lines changed

3 files changed

+10
-10
lines changed

src/Extensions/AzureBlobPayloads/PayloadStore/BlobPayloadStore.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ public BlobPayloadStore(LargePayloadStorageOptions options)
6262
}
6363

6464
/// <inheritdoc/>
65-
public async Task<string> UploadAsync(ReadOnlyMemory<byte> payloadBytes, CancellationToken cancellationToken)
65+
public override async Task<string> UploadAsync(ReadOnlyMemory<byte> payloadBytes, CancellationToken cancellationToken)
6666
{
6767
// One blob per payload using GUID-based name for uniqueness (stable across retries)
6868
string timestamp = DateTimeOffset.UtcNow.ToString("yyyy/MM/dd/HH/mm/ss", CultureInfo.InvariantCulture);
@@ -107,7 +107,7 @@ public async Task<string> UploadAsync(ReadOnlyMemory<byte> payloadBytes, Cancell
107107
}
108108

109109
/// <inheritdoc/>
110-
public async Task<string> DownloadAsync(string token, CancellationToken cancellationToken)
110+
public override async Task<string> DownloadAsync(string token, CancellationToken cancellationToken)
111111
{
112112
(string container, string name) = DecodeToken(token);
113113
if (!string.Equals(container, this.containerClient.Name, StringComparison.Ordinal))
@@ -139,7 +139,7 @@ public async Task<string> DownloadAsync(string token, CancellationToken cancella
139139
}
140140

141141
/// <inheritdoc/>
142-
public bool IsKnownPayloadToken(string value)
142+
public override bool IsKnownPayloadToken(string value)
143143
{
144144
if (string.IsNullOrEmpty(value))
145145
{

src/Extensions/AzureBlobPayloads/PayloadStore/IPayloadStore.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,29 +6,29 @@ namespace Microsoft.DurableTask;
66
/// <summary>
77
/// Abstraction for storing and retrieving large payloads out-of-band.
88
/// </summary>
9-
public interface IPayloadStore
9+
public abstract class IPayloadStore
1010
{
1111
/// <summary>
1212
/// Uploads a payload and returns an opaque reference token that can be embedded in orchestration messages.
1313
/// </summary>
1414
/// <param name="payloadBytes">The payload bytes.</param>
1515
/// <param name="cancellationToken">Cancellation token.</param>
1616
/// <returns>Opaque reference token.</returns>
17-
Task<string> UploadAsync(ReadOnlyMemory<byte> payloadBytes, CancellationToken cancellationToken);
17+
public abstract Task<string> UploadAsync(ReadOnlyMemory<byte> payloadBytes, CancellationToken cancellationToken);
1818

1919
/// <summary>
2020
/// Downloads the payload referenced by the token.
2121
/// </summary>
2222
/// <param name="token">The opaque reference token.</param>
2323
/// <param name="cancellationToken">Cancellation token.</param>
2424
/// <returns>Payload string.</returns>
25-
Task<string> DownloadAsync(string token, CancellationToken cancellationToken);
25+
public abstract Task<string> DownloadAsync(string token, CancellationToken cancellationToken);
2626

2727
/// <summary>
2828
/// Returns true if the specified value appears to be a token understood by this store.
2929
/// Implementations should not throw for unknown tokens.
3030
/// </summary>
3131
/// <param name="value">The value to check.</param>
3232
/// <returns><c>true</c> if the value is a token issued by this store; otherwise, <c>false</c>.</returns>
33-
bool IsKnownPayloadToken(string value);
33+
public abstract bool IsKnownPayloadToken(string value);
3434
}

test/Grpc.IntegrationTests/LargePayloadTests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -623,7 +623,7 @@ public InMemoryPayloadStore(Dictionary<string, string> shared)
623623
int downloadCount;
624624
public int DownloadCount => this.downloadCount;
625625

626-
public Task<string> UploadAsync(ReadOnlyMemory<byte> payloadBytes, CancellationToken cancellationToken)
626+
public override Task<string> UploadAsync(ReadOnlyMemory<byte> payloadBytes, CancellationToken cancellationToken)
627627
{
628628
Interlocked.Increment(ref this.uploadCount);
629629
string json = System.Text.Encoding.UTF8.GetString(payloadBytes.Span);
@@ -633,13 +633,13 @@ public Task<string> UploadAsync(ReadOnlyMemory<byte> payloadBytes, CancellationT
633633
return Task.FromResult(token);
634634
}
635635

636-
public Task<string> DownloadAsync(string token, CancellationToken cancellationToken)
636+
public override Task<string> DownloadAsync(string token, CancellationToken cancellationToken)
637637
{
638638
Interlocked.Increment(ref this.downloadCount);
639639
return Task.FromResult(this.tokenToPayload[token]);
640640
}
641641

642-
public bool IsKnownPayloadToken(string value)
642+
public override bool IsKnownPayloadToken(string value)
643643
{
644644
return value.StartsWith(TokenPrefix, StringComparison.Ordinal);
645645
}

0 commit comments

Comments
 (0)