All checks were successful
DCO / DCO (pull_request) Successful in 47s
API methods' parameters types with optional session, polling settings, xHeaders etc. and corresponding handlers have been added Signed-off-by: Pavel Gross <p.gross@yadro.com>
35 lines
765 B
C#
35 lines
765 B
C#
using System;
|
|
using System.Threading.Tasks;
|
|
|
|
using Grpc.Core;
|
|
|
|
using FrostFS.Object;
|
|
|
|
namespace FrostFS.SDK.ClientV2;
|
|
|
|
internal class ObjectStreamer(AsyncClientStreamingCall<PutRequest, PutResponse> call) : IDisposable
|
|
{
|
|
public AsyncClientStreamingCall<PutRequest, PutResponse> Call { get; private set; } = call;
|
|
|
|
public async Task Write(PutRequest request)
|
|
{
|
|
if (request is null)
|
|
{
|
|
throw new ArgumentNullException(nameof(request));
|
|
}
|
|
|
|
await Call.RequestStream.WriteAsync(request);
|
|
}
|
|
|
|
public async Task<PutResponse> Close()
|
|
{
|
|
await Call.RequestStream.CompleteAsync();
|
|
|
|
return await Call.ResponseAsync;
|
|
}
|
|
|
|
public void Dispose()
|
|
{
|
|
Call.Dispose();
|
|
}
|
|
}
|