using System; using System.Collections.Generic; using System.Threading.Tasks; using FrostFS.SDK.ClientV2.Parameters; using FrostFS.SDK.ModelsV2; using FrostFS.SDK.ModelsV2.Netmap; namespace FrostFS.SDK.ClientV2.Interfaces; public interface IFrostFSClient : IDisposable { #region Network Task GetNetmapSnapshotAsync(PrmGetNetmapSnapshot? args = null); Task GetNodeInfoAsync(PrmGetNodeInfo? args = null); Task GetNetworkSettingsAsync(PrmGetNetworkSettings? args = null); #endregion #region Session Task CreateSessionAsync(PrmCreateSession args); #endregion #region Container Task GetContainerAsync(PrmGetContainer args); IAsyncEnumerable ListContainersAsync(PrmListContainer? args = null); Task CreateContainerAsync(PrmCreateContainer args); Task DeleteContainerAsync(PrmDeleteContainer args); #endregion #region Object Task GetObjectHeadAsync(PrmGetObjectHead args); Task GetObjectAsync(PrmGetObject args); Task PutObjectAsync(PrmPutObject putObjectParameters); Task PutSingleObjectAsync(PrmPutSingleObject args); Task DeleteObjectAsync(PrmDeleteObject args); IAsyncEnumerable SearchObjectsAsync(PrmSearchObject args); #endregion #region Tools ObjectId CalculateObjectId(ObjectHeader header); #endregion }