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); }