frostfs-sdk-csharp/src/FrostFS.SDK.ClientV2/Interfaces/IFrostFSClient.cs
Pavel Gross 79764c9b67 [#4] Infrastructure for Client Cut
Signed-off-by: Pavel Gross <p.gross@yadro.com>
2024-06-10 10:44:48 +03:00

32 lines
No EOL
1,014 B
C#

using System.Collections.Generic;
using System.IO;
using System.Threading.Tasks;
using FrostFS.SDK.ModelsV2;
namespace FrostFS.SDK.ClientV2.Interfaces;
public interface IFrostFSClient
{
Task<ModelsV2.Container> GetContainerAsync(ContainerId containerId);
IAsyncEnumerable<ContainerId> ListContainersAsync();
Task<ContainerId> CreateContainerAsync(ModelsV2.Container container);
Task DeleteContainerAsync(ContainerId containerId);
Task<ObjectHeader> GetObjectHeadAsync(ContainerId containerId, ObjectId objectId);
Task<ModelsV2.Object> GetObjectAsync(ContainerId containerId, ObjectId objectId);
Task<ObjectId> PutObjectAsync(ObjectHeader header, Stream payload);
Task<ObjectId> PutObjectAsync(ObjectHeader header, byte[] payload);
Task<ObjectId> PutSingleObjectAsync(ModelsV2.Object obj);
Task DeleteObjectAsync(ContainerId containerId, ObjectId objectId);
IAsyncEnumerable<ObjectId> SearchObjectsAsync(ContainerId cid, params ObjectFilter[] filters);
}