frostfs-sdk-csharp/src/FrostFS.SDK.Client/Services/AccountingServiceProvider.cs
Pavel Gross 809bd90352 [#40] Client: Add memory optimization for hash
Signed-off-by: Pavel Gross <p.gross@yadro.com>
2025-03-11 22:56:28 +03:00

38 lines
No EOL
1,020 B
C#

using System.Threading.Tasks;
using FrostFS.Accounting;
namespace FrostFS.SDK.Client;
internal sealed class AccountingServiceProvider : ContextAccessor
{
private readonly AccountingService.AccountingServiceClient? _accountingServiceClient;
internal AccountingServiceProvider(
AccountingService.AccountingServiceClient? accountingServiceClient,
ClientContext context)
: base(context)
{
_accountingServiceClient = accountingServiceClient;
}
internal async Task<Decimal> GetBallance(CallContext ctx)
{
BalanceRequest request = new()
{
Body = new()
{
OwnerId = ClientContext.Owner.OwnerID
}
};
request.AddMetaHeader([]);
request.Sign(ClientContext.Key);
var response = await _accountingServiceClient!.BalanceAsync(request, null, ctx.GetDeadline(), ctx.CancellationToken);
Verifier.CheckResponse(response);
return response.Body.Balance;
}
}