From 17492ee871b5479d2a1946218f6102b7c5ff28f6 Mon Sep 17 00:00:00 2001
From: Pavel Gross
Date: Wed, 26 Jun 2024 15:24:15 +0300
Subject: [PATCH] [#13] Add cancellation token to GetChank method
Signed-off-by: Pavel Gross
---
src/FrostFS.SDK.ClientV2/Services/ObjectReader.cs | 7 ++++---
src/FrostFS.SDK.ModelsV2/Object/IObjectReader.cs | 3 ++-
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/src/FrostFS.SDK.ClientV2/Services/ObjectReader.cs b/src/FrostFS.SDK.ClientV2/Services/ObjectReader.cs
index 19c65d8..647a7ad 100644
--- a/src/FrostFS.SDK.ClientV2/Services/ObjectReader.cs
+++ b/src/FrostFS.SDK.ClientV2/Services/ObjectReader.cs
@@ -5,13 +5,14 @@ using Grpc.Core;
using FrostFS.Object;
using FrostFS.SDK.ModelsV2;
+using System.Threading;
namespace FrostFS.SDK.ClientV2;
public class ObjectReader(AsyncServerStreamingCall call) : IObjectReader
{
private bool disposed = false;
-
+
public AsyncServerStreamingCall Call { get; private set; } = call;
internal async Task ReadHeader()
@@ -32,9 +33,9 @@ public class ObjectReader(AsyncServerStreamingCall call) : IObjectR
};
}
- public async Task ReadChunk()
+ public async Task ReadChunk(CancellationToken cancellationToken = default)
{
- if (!await Call.ResponseStream.MoveNext())
+ if (!await Call.ResponseStream.MoveNext(cancellationToken))
return null;
var response = Call.ResponseStream.Current;
diff --git a/src/FrostFS.SDK.ModelsV2/Object/IObjectReader.cs b/src/FrostFS.SDK.ModelsV2/Object/IObjectReader.cs
index 3822dce..4c5ce3d 100644
--- a/src/FrostFS.SDK.ModelsV2/Object/IObjectReader.cs
+++ b/src/FrostFS.SDK.ModelsV2/Object/IObjectReader.cs
@@ -1,9 +1,10 @@
using System;
+using System.Threading;
using System.Threading.Tasks;
namespace FrostFS.SDK.ModelsV2;
public interface IObjectReader : IDisposable
{
- Task ReadChunk();
+ Task ReadChunk(CancellationToken cancellationToken = default);
}