[#23] Client: Refactoring to optimize memory usage

Signed-off-by: Pavel Gross <p.gross@yando.com>
This commit is contained in:
Pavel Gross 2024-09-11 10:44:30 +03:00
parent 1a02ac2ae7
commit 6562aa27a5
141 changed files with 1722 additions and 896 deletions

View file

@ -1,50 +1,49 @@
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using FrostFS.SDK.ClientV2.Parameters;
using FrostFS.SDK.ModelsV2;
using FrostFS.SDK.ModelsV2.Netmap;
using FrostFS.SDK.ClientV2;
namespace FrostFS.SDK.ClientV2.Interfaces;
public interface IFrostFSClient : IDisposable
{
#region Network
Task<NetmapSnapshot> GetNetmapSnapshotAsync(PrmNetmapSnapshot? args = null);
Task<FrostFsNetmapSnapshot> GetNetmapSnapshotAsync(PrmNetmapSnapshot? args = null);
Task<NodeInfo> GetNodeInfoAsync(PrmNodeInfo? args = null);
Task<FrostFsNodeInfo> GetNodeInfoAsync(PrmNodeInfo? args = null);
Task<NetworkSettings> GetNetworkSettingsAsync(PrmNetworkSettings? args = null);
#endregion
#region Session
Task<SessionToken> CreateSessionAsync(PrmSessionCreate args);
Task<FrostFsSessionToken> CreateSessionAsync(PrmSessionCreate args);
#endregion
#region Container
Task<ModelsV2.Container> GetContainerAsync(PrmContainerGet args);
Task<FrostFsContainerInfo> GetContainerAsync(PrmContainerGet args);
IAsyncEnumerable<ContainerId> ListContainersAsync(PrmContainerGetAll? args = null);
IAsyncEnumerable<FrostFsContainerId> ListContainersAsync(PrmContainerGetAll? args = null);
Task<ContainerId> CreateContainerAsync(PrmContainerCreate args);
Task<FrostFsContainerId> CreateContainerAsync(PrmContainerCreate args);
Task DeleteContainerAsync(PrmContainerDelete args);
#endregion
#region Object
Task<ObjectHeader> GetObjectHeadAsync(PrmObjectHeadGet args);
Task<FrostFsObjectHeader> GetObjectHeadAsync(PrmObjectHeadGet args);
Task<FrostFsObject> GetObjectAsync(PrmObjectGet args);
Task<ObjectId> PutObjectAsync(PrmObjectPut putObjectParameters);
Task<FrostFsObjectId> PutObjectAsync(PrmObjectPut args);
Task<ObjectId> PutSingleObjectAsync(PrmSingleObjectPut args);
Task<FrostFsObjectId> PutSingleObjectAsync(PrmSingleObjectPut args);
Task DeleteObjectAsync(PrmObjectDelete args);
IAsyncEnumerable<ObjectId> SearchObjectsAsync(PrmObjectSearch args);
IAsyncEnumerable<FrostFsObjectId> SearchObjectsAsync(PrmObjectSearch args);
#endregion
#region Tools
ObjectId CalculateObjectId(ObjectHeader header, Context ctx);
FrostFsObjectId CalculateObjectId(FrostFsObjectHeader header, Context ctx);
#endregion
}