using System; using System.Collections.Generic; using System.Threading.Tasks; using FrostFS.SDK.ClientV2; namespace FrostFS.SDK.ClientV2.Interfaces; public interface IFrostFSClient : IDisposable { #region Network Task GetNetmapSnapshotAsync(PrmNetmapSnapshot? args = null); Task GetNodeInfoAsync(PrmNodeInfo? args = null); Task GetNetworkSettingsAsync(PrmNetworkSettings? args = null); #endregion #region Session Task CreateSessionAsync(PrmSessionCreate args); #endregion #region Container Task GetContainerAsync(PrmContainerGet args); IAsyncEnumerable ListContainersAsync(PrmContainerGetAll? args = null); Task CreateContainerAsync(PrmContainerCreate args); Task DeleteContainerAsync(PrmContainerDelete args); #endregion #region Object Task GetObjectHeadAsync(PrmObjectHeadGet args); Task GetObjectAsync(PrmObjectGet args); Task PutObjectAsync(PrmObjectPut args); Task PutSingleObjectAsync(PrmSingleObjectPut args); Task DeleteObjectAsync(PrmObjectDelete args); IAsyncEnumerable SearchObjectsAsync(PrmObjectSearch args); #endregion #region Tools FrostFsObjectId CalculateObjectId(FrostFsObjectHeader header, Context ctx); #endregion }