From 3206abc33e3e65a8a422c6ca6d90d72bea652bc3 Mon Sep 17 00:00:00 2001 From: Pavel Gross Date: Thu, 25 Jul 2024 12:28:38 +0300 Subject: [PATCH] [#18] Client: Rename parameters Signed-off-by: Pavel Gross --- src/FrostFS.SDK.ClientV2/Client.cs | 40 ++++++------- .../Interfaces/IFrostFSClient.cs | 28 ++++----- ...eateContainer.cs => PrmContainerCreate.cs} | 2 +- ...leteContainer.cs => PrmContainerDelete.cs} | 2 +- ...{PrmGetContainer.cs => PrmContainerGet.cs} | 2 +- ...ListContainer.cs => PrmContainerGetAll.cs} | 2 +- ...NetmapSnapshot.cs => PrmNetmapSnapshot.cs} | 2 +- ...tworkSettings.cs => PrmNetworkSettings.cs} | 2 +- .../{PrmGetNodeInfo.cs => PrmNodeInfo.cs} | 2 +- ...{PrmDeleteObject.cs => PrmObjectDelete.cs} | 2 +- .../{PrmGetObject.cs => PrmObjectGet.cs} | 2 +- ...rmGetObjectHead.cs => PrmObjectHeadGet.cs} | 2 +- .../{PrmPutObject.cs => PrmObjectPut.cs} | 2 +- ...{PrmSearchObject.cs => PrmObjectSearch.cs} | 2 +- ...rmCreateSession.cs => PrmSessionCreate.cs} | 2 +- ...tSingleObject.cs => PrmSingleObjectPut.cs} | 2 +- .../Services/ContainerServiceProvider.cs | 8 +-- .../Services/NetmapServiceProvider.cs | 4 +- .../Services/ObjectServiceProvider.cs | 28 ++++----- .../Services/SessionServiceProvider.cs | 2 +- .../Tools/RequestConstructor.cs | 7 ++- src/FrostFS.SDK.Cryptography/Extentions.cs | 1 + src/FrostFS.SDK.ModelsV2/Constants.cs | 7 --- src/FrostFS.SDK.ModelsV2/GrpcCallInfo.cs | 8 --- src/FrostFS.SDK.ModelsV2/Misc/CheckSum.cs | 25 ++++++++ src/FrostFS.SDK.ModelsV2/Misc/Constants.cs | 52 +++++++++++++++++ src/FrostFS.SDK.ModelsV2/Netmap/NodeInfo.cs | 31 ++++------ .../{ => Session}/SessionToken.cs | 0 src/FrostFS.SDK.Tests/ContainerTest.cs | 6 +- src/FrostFS.SDK.Tests/ObjectTest.cs | 10 ++-- src/FrostFS.SDK.Tests/SmokeTests.cs | 57 ++++++++++--------- 31 files changed, 200 insertions(+), 142 deletions(-) rename src/FrostFS.SDK.ClientV2/Parameters/{PrmCreateContainer.cs => PrmContainerCreate.cs} (90%) rename src/FrostFS.SDK.ClientV2/Parameters/{PrmDeleteContainer.cs => PrmContainerDelete.cs} (91%) rename src/FrostFS.SDK.ClientV2/Parameters/{PrmGetContainer.cs => PrmContainerGet.cs} (86%) rename src/FrostFS.SDK.ClientV2/Parameters/{PrmListContainer.cs => PrmContainerGetAll.cs} (87%) rename src/FrostFS.SDK.ClientV2/Parameters/{PrmGetNetmapSnapshot.cs => PrmNetmapSnapshot.cs} (78%) rename src/FrostFS.SDK.ClientV2/Parameters/{PrmGetNetworkSettings.cs => PrmNetworkSettings.cs} (78%) rename src/FrostFS.SDK.ClientV2/Parameters/{PrmGetNodeInfo.cs => PrmNodeInfo.cs} (80%) rename src/FrostFS.SDK.ClientV2/Parameters/{PrmDeleteObject.cs => PrmObjectDelete.cs} (89%) rename src/FrostFS.SDK.ClientV2/Parameters/{PrmGetObject.cs => PrmObjectGet.cs} (89%) rename src/FrostFS.SDK.ClientV2/Parameters/{PrmGetObjectHead.cs => PrmObjectHeadGet.cs} (89%) rename src/FrostFS.SDK.ClientV2/Parameters/{PrmPutObject.cs => PrmObjectPut.cs} (96%) rename src/FrostFS.SDK.ClientV2/Parameters/{PrmSearchObject.cs => PrmObjectSearch.cs} (91%) rename src/FrostFS.SDK.ClientV2/Parameters/{PrmCreateSession.cs => PrmSessionCreate.cs} (85%) rename src/FrostFS.SDK.ClientV2/Parameters/{PrmPutSingleObject.cs => PrmSingleObjectPut.cs} (89%) delete mode 100644 src/FrostFS.SDK.ModelsV2/Constants.cs delete mode 100644 src/FrostFS.SDK.ModelsV2/GrpcCallInfo.cs create mode 100644 src/FrostFS.SDK.ModelsV2/Misc/CheckSum.cs create mode 100644 src/FrostFS.SDK.ModelsV2/Misc/Constants.cs rename src/FrostFS.SDK.ModelsV2/{ => Session}/SessionToken.cs (100%) diff --git a/src/FrostFS.SDK.ClientV2/Client.cs b/src/FrostFS.SDK.ClientV2/Client.cs index 6d09283..294726a 100644 --- a/src/FrostFS.SDK.ClientV2/Client.cs +++ b/src/FrostFS.SDK.ClientV2/Client.cs @@ -117,26 +117,26 @@ public class Client : IFrostFSClient } #region ContainerImplementation - public Task GetContainerAsync(PrmGetContainer args) + public Task GetContainerAsync(PrmContainerGet args) { var service = GetContainerService(args); return service.GetContainerAsync(args); } - public IAsyncEnumerable ListContainersAsync(PrmListContainer? args = null) + public IAsyncEnumerable ListContainersAsync(PrmContainerGetAll? args = null) { - args = args ?? new PrmListContainer(); + args = args ?? new PrmContainerGetAll(); var service = GetContainerService(args); return service.ListContainersAsync(args); } - public Task CreateContainerAsync(PrmCreateContainer args) + public Task CreateContainerAsync(PrmContainerCreate args) { var service = GetContainerService(args); return service.CreateContainerAsync(args); } - public Task DeleteContainerAsync(PrmDeleteContainer args) + public Task DeleteContainerAsync(PrmContainerDelete args) { var service = GetContainerService(args); return service.DeleteContainerAsync(args); @@ -144,60 +144,60 @@ public class Client : IFrostFSClient #endregion #region NetworkImplementation - public Task GetNetmapSnapshotAsync(PrmGetNetmapSnapshot? args) + public Task GetNetmapSnapshotAsync(PrmNetmapSnapshot? args) { - args ??= new PrmGetNetmapSnapshot(); + args ??= new PrmNetmapSnapshot(); var service = GetNetmapService(args); return service.GetNetmapSnapshotAsync(args); } - public Task GetNodeInfoAsync(PrmGetNodeInfo? args) + public Task GetNodeInfoAsync(PrmNodeInfo? args) { - args ??= new PrmGetNodeInfo(); + args ??= new PrmNodeInfo(); var service = GetNetmapService(args); return service.GetLocalNodeInfoAsync(args); } - public Task GetNetworkSettingsAsync(PrmGetNetworkSettings? args) + public Task GetNetworkSettingsAsync(PrmNetworkSettings? args) { - args ??= new PrmGetNetworkSettings(); + args ??= new PrmNetworkSettings(); var service = GetNetmapService(args); return service.GetNetworkSettingsAsync(args.Context!); } #endregion #region ObjectImplementation - public Task GetObjectHeadAsync(PrmGetObjectHead args) + public Task GetObjectHeadAsync(PrmObjectHeadGet args) { var service = GetObjectService(args); return service.GetObjectHeadAsync(args); } - public Task GetObjectAsync(PrmGetObject args) + public Task GetObjectAsync(PrmObjectGet args) { var service = GetObjectService(args); return service.GetObjectAsync(args); } - public Task PutObjectAsync(PrmPutObject args) + public Task PutObjectAsync(PrmObjectPut args) { var service = GetObjectService(args); return service.PutObjectAsync(args); } - public Task PutSingleObjectAsync(PrmPutSingleObject args) + public Task PutSingleObjectAsync(PrmSingleObjectPut args) { var service = GetObjectService(args); return service.PutSingleObjectAsync(args); } - public Task DeleteObjectAsync(PrmDeleteObject args) + public Task DeleteObjectAsync(PrmObjectDelete args) { var service = GetObjectService(args); return service.DeleteObjectAsync(args); } - public IAsyncEnumerable SearchObjectsAsync(PrmSearchObject args) + public IAsyncEnumerable SearchObjectsAsync(PrmObjectSearch args) { var service = GetObjectService(args); return service.SearchObjectsAsync(args); @@ -205,7 +205,7 @@ public class Client : IFrostFSClient #endregion #region SessionImplementation - public async Task CreateSessionAsync(PrmCreateSession args) + public async Task CreateSessionAsync(PrmSessionCreate args) { var session = await CreateSessionInternalAsync(args); var token = session.Serialize(); @@ -213,7 +213,7 @@ public class Client : IFrostFSClient return new ModelsV2.SessionToken(token); } - internal Task CreateSessionInternalAsync(PrmCreateSession args) + internal Task CreateSessionInternalAsync(PrmSessionCreate args) { var service = GetSessionService(args); return service.CreateSessionAsync(args); @@ -229,7 +229,7 @@ public class Client : IFrostFSClient private async void CheckFrostFsVersionSupport(Context? ctx = default) { - var args = new PrmGetNodeInfo(ctx); + var args = new PrmNodeInfo(ctx); var service = GetNetmapService(args); var localNodeInfo = await service.GetLocalNodeInfoAsync(args); diff --git a/src/FrostFS.SDK.ClientV2/Interfaces/IFrostFSClient.cs b/src/FrostFS.SDK.ClientV2/Interfaces/IFrostFSClient.cs index a483abc..a3a7f81 100644 --- a/src/FrostFS.SDK.ClientV2/Interfaces/IFrostFSClient.cs +++ b/src/FrostFS.SDK.ClientV2/Interfaces/IFrostFSClient.cs @@ -9,39 +9,39 @@ namespace FrostFS.SDK.ClientV2.Interfaces; public interface IFrostFSClient : IDisposable { #region Network - Task GetNetmapSnapshotAsync(PrmGetNetmapSnapshot? args = null); + Task GetNetmapSnapshotAsync(PrmNetmapSnapshot? args = null); - Task GetNodeInfoAsync(PrmGetNodeInfo? args = null); + Task GetNodeInfoAsync(PrmNodeInfo? args = null); - Task GetNetworkSettingsAsync(PrmGetNetworkSettings? args = null); + Task GetNetworkSettingsAsync(PrmNetworkSettings? args = null); #endregion #region Session - Task CreateSessionAsync(PrmCreateSession args); + Task CreateSessionAsync(PrmSessionCreate args); #endregion #region Container - Task GetContainerAsync(PrmGetContainer args); + Task GetContainerAsync(PrmContainerGet args); - IAsyncEnumerable ListContainersAsync(PrmListContainer? args = null); + IAsyncEnumerable ListContainersAsync(PrmContainerGetAll? args = null); - Task CreateContainerAsync(PrmCreateContainer args); + Task CreateContainerAsync(PrmContainerCreate args); - Task DeleteContainerAsync(PrmDeleteContainer args); + Task DeleteContainerAsync(PrmContainerDelete args); #endregion #region Object - Task GetObjectHeadAsync(PrmGetObjectHead args); + Task GetObjectHeadAsync(PrmObjectHeadGet args); - Task GetObjectAsync(PrmGetObject args); + Task GetObjectAsync(PrmObjectGet args); - Task PutObjectAsync(PrmPutObject putObjectParameters); + Task PutObjectAsync(PrmObjectPut putObjectParameters); - Task PutSingleObjectAsync(PrmPutSingleObject args); + Task PutSingleObjectAsync(PrmSingleObjectPut args); - Task DeleteObjectAsync(PrmDeleteObject args); + Task DeleteObjectAsync(PrmObjectDelete args); - IAsyncEnumerable SearchObjectsAsync(PrmSearchObject args); + IAsyncEnumerable SearchObjectsAsync(PrmObjectSearch args); #endregion #region Tools diff --git a/src/FrostFS.SDK.ClientV2/Parameters/PrmCreateContainer.cs b/src/FrostFS.SDK.ClientV2/Parameters/PrmContainerCreate.cs similarity index 90% rename from src/FrostFS.SDK.ClientV2/Parameters/PrmCreateContainer.cs rename to src/FrostFS.SDK.ClientV2/Parameters/PrmContainerCreate.cs index 9209a03..4185a41 100644 --- a/src/FrostFS.SDK.ClientV2/Parameters/PrmCreateContainer.cs +++ b/src/FrostFS.SDK.ClientV2/Parameters/PrmContainerCreate.cs @@ -2,7 +2,7 @@ namespace FrostFS.SDK.ClientV2.Parameters; -public sealed class PrmCreateContainer(ModelsV2.Container container) : IContext +public sealed class PrmContainerCreate(ModelsV2.Container container) : IContext { public ModelsV2.Container Container { get; set; } = container; diff --git a/src/FrostFS.SDK.ClientV2/Parameters/PrmDeleteContainer.cs b/src/FrostFS.SDK.ClientV2/Parameters/PrmContainerDelete.cs similarity index 91% rename from src/FrostFS.SDK.ClientV2/Parameters/PrmDeleteContainer.cs rename to src/FrostFS.SDK.ClientV2/Parameters/PrmContainerDelete.cs index 4451b00..8455f51 100644 --- a/src/FrostFS.SDK.ClientV2/Parameters/PrmDeleteContainer.cs +++ b/src/FrostFS.SDK.ClientV2/Parameters/PrmContainerDelete.cs @@ -3,7 +3,7 @@ using FrostFS.SDK.ModelsV2; namespace FrostFS.SDK.ClientV2.Parameters; -public sealed class PrmDeleteContainer(ContainerId containerId, Context? ctx = null) : IContext +public sealed class PrmContainerDelete(ContainerId containerId, Context? ctx = null) : IContext { public ContainerId ContainerId { get; set; } = containerId; diff --git a/src/FrostFS.SDK.ClientV2/Parameters/PrmGetContainer.cs b/src/FrostFS.SDK.ClientV2/Parameters/PrmContainerGet.cs similarity index 86% rename from src/FrostFS.SDK.ClientV2/Parameters/PrmGetContainer.cs rename to src/FrostFS.SDK.ClientV2/Parameters/PrmContainerGet.cs index 59350fe..2761ba2 100644 --- a/src/FrostFS.SDK.ClientV2/Parameters/PrmGetContainer.cs +++ b/src/FrostFS.SDK.ClientV2/Parameters/PrmContainerGet.cs @@ -3,7 +3,7 @@ using FrostFS.SDK.ModelsV2; namespace FrostFS.SDK.ClientV2.Parameters; -public sealed class PrmGetContainer(ContainerId containerId, Context? ctx = null) : IContext +public sealed class PrmContainerGet(ContainerId containerId, Context? ctx = null) : IContext { public ContainerId ContainerId { get; set; } = containerId; diff --git a/src/FrostFS.SDK.ClientV2/Parameters/PrmListContainer.cs b/src/FrostFS.SDK.ClientV2/Parameters/PrmContainerGetAll.cs similarity index 87% rename from src/FrostFS.SDK.ClientV2/Parameters/PrmListContainer.cs rename to src/FrostFS.SDK.ClientV2/Parameters/PrmContainerGetAll.cs index 3d4c1a2..03cb084 100644 --- a/src/FrostFS.SDK.ClientV2/Parameters/PrmListContainer.cs +++ b/src/FrostFS.SDK.ClientV2/Parameters/PrmContainerGetAll.cs @@ -2,7 +2,7 @@ namespace FrostFS.SDK.ClientV2.Parameters; -public sealed class PrmListContainer() : IContext +public sealed class PrmContainerGetAll() : IContext { public string SessionToken { get; set; } = string.Empty; diff --git a/src/FrostFS.SDK.ClientV2/Parameters/PrmGetNetmapSnapshot.cs b/src/FrostFS.SDK.ClientV2/Parameters/PrmNetmapSnapshot.cs similarity index 78% rename from src/FrostFS.SDK.ClientV2/Parameters/PrmGetNetmapSnapshot.cs rename to src/FrostFS.SDK.ClientV2/Parameters/PrmNetmapSnapshot.cs index e3e28c6..117ab85 100644 --- a/src/FrostFS.SDK.ClientV2/Parameters/PrmGetNetmapSnapshot.cs +++ b/src/FrostFS.SDK.ClientV2/Parameters/PrmNetmapSnapshot.cs @@ -2,7 +2,7 @@ namespace FrostFS.SDK.ClientV2.Parameters; -public sealed class PrmGetNetmapSnapshot(Context? context = default) : IContext +public sealed class PrmNetmapSnapshot(Context? context = default) : IContext { /// /// FrostFS request X-Headers diff --git a/src/FrostFS.SDK.ClientV2/Parameters/PrmGetNetworkSettings.cs b/src/FrostFS.SDK.ClientV2/Parameters/PrmNetworkSettings.cs similarity index 78% rename from src/FrostFS.SDK.ClientV2/Parameters/PrmGetNetworkSettings.cs rename to src/FrostFS.SDK.ClientV2/Parameters/PrmNetworkSettings.cs index 8db583e..250eb04 100644 --- a/src/FrostFS.SDK.ClientV2/Parameters/PrmGetNetworkSettings.cs +++ b/src/FrostFS.SDK.ClientV2/Parameters/PrmNetworkSettings.cs @@ -2,7 +2,7 @@ namespace FrostFS.SDK.ClientV2.Parameters; -public sealed class PrmGetNetworkSettings(Context? context = default) : IContext +public sealed class PrmNetworkSettings(Context? context = default) : IContext { /// /// FrostFS request X-Headers diff --git a/src/FrostFS.SDK.ClientV2/Parameters/PrmGetNodeInfo.cs b/src/FrostFS.SDK.ClientV2/Parameters/PrmNodeInfo.cs similarity index 80% rename from src/FrostFS.SDK.ClientV2/Parameters/PrmGetNodeInfo.cs rename to src/FrostFS.SDK.ClientV2/Parameters/PrmNodeInfo.cs index 78a7697..8a293a5 100644 --- a/src/FrostFS.SDK.ClientV2/Parameters/PrmGetNodeInfo.cs +++ b/src/FrostFS.SDK.ClientV2/Parameters/PrmNodeInfo.cs @@ -2,7 +2,7 @@ namespace FrostFS.SDK.ClientV2.Parameters; -public sealed class PrmGetNodeInfo(Context? context = default) : IContext +public sealed class PrmNodeInfo(Context? context = default) : IContext { /// /// FrostFS request X-Headers diff --git a/src/FrostFS.SDK.ClientV2/Parameters/PrmDeleteObject.cs b/src/FrostFS.SDK.ClientV2/Parameters/PrmObjectDelete.cs similarity index 89% rename from src/FrostFS.SDK.ClientV2/Parameters/PrmDeleteObject.cs rename to src/FrostFS.SDK.ClientV2/Parameters/PrmObjectDelete.cs index 8241f64..100f558 100644 --- a/src/FrostFS.SDK.ClientV2/Parameters/PrmDeleteObject.cs +++ b/src/FrostFS.SDK.ClientV2/Parameters/PrmObjectDelete.cs @@ -3,7 +3,7 @@ using FrostFS.SDK.ModelsV2; namespace FrostFS.SDK.ClientV2.Parameters; -public sealed class PrmDeleteObject(ContainerId containerId, ObjectId objectId) : IContext, ISessionToken +public sealed class PrmObjectDelete(ContainerId containerId, ObjectId objectId) : IContext, ISessionToken { public ContainerId ContainerId { get; set; } = containerId; public ObjectId ObjectId { get; set; } = objectId; diff --git a/src/FrostFS.SDK.ClientV2/Parameters/PrmGetObject.cs b/src/FrostFS.SDK.ClientV2/Parameters/PrmObjectGet.cs similarity index 89% rename from src/FrostFS.SDK.ClientV2/Parameters/PrmGetObject.cs rename to src/FrostFS.SDK.ClientV2/Parameters/PrmObjectGet.cs index 5ee1fd9..9c8cb1c 100644 --- a/src/FrostFS.SDK.ClientV2/Parameters/PrmGetObject.cs +++ b/src/FrostFS.SDK.ClientV2/Parameters/PrmObjectGet.cs @@ -3,7 +3,7 @@ using FrostFS.SDK.ModelsV2; namespace FrostFS.SDK.ClientV2.Parameters; -public sealed class PrmGetObject(ContainerId containerId, ObjectId objectId) : IContext, ISessionToken +public sealed class PrmObjectGet(ContainerId containerId, ObjectId objectId) : IContext, ISessionToken { public ContainerId ContainerId { get; set; } = containerId; public ObjectId ObjectId { get; set; } = objectId; diff --git a/src/FrostFS.SDK.ClientV2/Parameters/PrmGetObjectHead.cs b/src/FrostFS.SDK.ClientV2/Parameters/PrmObjectHeadGet.cs similarity index 89% rename from src/FrostFS.SDK.ClientV2/Parameters/PrmGetObjectHead.cs rename to src/FrostFS.SDK.ClientV2/Parameters/PrmObjectHeadGet.cs index 88287a8..5184fe8 100644 --- a/src/FrostFS.SDK.ClientV2/Parameters/PrmGetObjectHead.cs +++ b/src/FrostFS.SDK.ClientV2/Parameters/PrmObjectHeadGet.cs @@ -3,7 +3,7 @@ using FrostFS.SDK.ModelsV2; namespace FrostFS.SDK.ClientV2.Parameters; -public sealed class PrmGetObjectHead(ContainerId containerId, ObjectId objectId) : IContext, ISessionToken +public sealed class PrmObjectHeadGet(ContainerId containerId, ObjectId objectId) : IContext, ISessionToken { public ContainerId ContainerId { get; set; } = containerId; public ObjectId ObjectId { get; set; } = objectId; diff --git a/src/FrostFS.SDK.ClientV2/Parameters/PrmPutObject.cs b/src/FrostFS.SDK.ClientV2/Parameters/PrmObjectPut.cs similarity index 96% rename from src/FrostFS.SDK.ClientV2/Parameters/PrmPutObject.cs rename to src/FrostFS.SDK.ClientV2/Parameters/PrmObjectPut.cs index 7e4999d..219af3e 100644 --- a/src/FrostFS.SDK.ClientV2/Parameters/PrmPutObject.cs +++ b/src/FrostFS.SDK.ClientV2/Parameters/PrmObjectPut.cs @@ -3,7 +3,7 @@ using System.IO; using FrostFS.SDK.ModelsV2; namespace FrostFS.SDK.ClientV2.Parameters; -public sealed class PrmPutObject : IContext, ISessionToken +public sealed class PrmObjectPut : IContext, ISessionToken { /// /// Need to provide values like ContainerId and ObjectType to create and object. diff --git a/src/FrostFS.SDK.ClientV2/Parameters/PrmSearchObject.cs b/src/FrostFS.SDK.ClientV2/Parameters/PrmObjectSearch.cs similarity index 91% rename from src/FrostFS.SDK.ClientV2/Parameters/PrmSearchObject.cs rename to src/FrostFS.SDK.ClientV2/Parameters/PrmObjectSearch.cs index 8c0ad8c..9ac4f8d 100644 --- a/src/FrostFS.SDK.ClientV2/Parameters/PrmSearchObject.cs +++ b/src/FrostFS.SDK.ClientV2/Parameters/PrmObjectSearch.cs @@ -3,7 +3,7 @@ using System.Collections.Specialized; using FrostFS.SDK.ModelsV2; namespace FrostFS.SDK.ClientV2.Parameters; -public sealed class PrmSearchObject(ContainerId containerId, params ObjectFilter[] filters) : IContext, ISessionToken +public sealed class PrmObjectSearch(ContainerId containerId, params ObjectFilter[] filters) : IContext, ISessionToken { public ContainerId ContainerId { get; set; } = containerId; diff --git a/src/FrostFS.SDK.ClientV2/Parameters/PrmCreateSession.cs b/src/FrostFS.SDK.ClientV2/Parameters/PrmSessionCreate.cs similarity index 85% rename from src/FrostFS.SDK.ClientV2/Parameters/PrmCreateSession.cs rename to src/FrostFS.SDK.ClientV2/Parameters/PrmSessionCreate.cs index 870a481..22f0c4e 100644 --- a/src/FrostFS.SDK.ClientV2/Parameters/PrmCreateSession.cs +++ b/src/FrostFS.SDK.ClientV2/Parameters/PrmSessionCreate.cs @@ -2,7 +2,7 @@ namespace FrostFS.SDK.ClientV2.Parameters; -public sealed class PrmCreateSession(ulong expiration, Context? context = default) : IContext +public sealed class PrmSessionCreate(ulong expiration, Context? context = default) : IContext { public ulong Expiration { get; set; } = expiration; diff --git a/src/FrostFS.SDK.ClientV2/Parameters/PrmPutSingleObject.cs b/src/FrostFS.SDK.ClientV2/Parameters/PrmSingleObjectPut.cs similarity index 89% rename from src/FrostFS.SDK.ClientV2/Parameters/PrmPutSingleObject.cs rename to src/FrostFS.SDK.ClientV2/Parameters/PrmSingleObjectPut.cs index 95e514f..0d1df0f 100644 --- a/src/FrostFS.SDK.ClientV2/Parameters/PrmPutSingleObject.cs +++ b/src/FrostFS.SDK.ClientV2/Parameters/PrmSingleObjectPut.cs @@ -2,7 +2,7 @@ using FrostFS.SDK.ModelsV2; namespace FrostFS.SDK.ClientV2.Parameters; -public sealed class PrmPutSingleObject(FrostFsObject frostFsObject, Context? context = null) : IContext, ISessionToken +public sealed class PrmSingleObjectPut(FrostFsObject frostFsObject, Context? context = null) : IContext, ISessionToken { public FrostFsObject FrostFsObject { get; set; } = frostFsObject; diff --git a/src/FrostFS.SDK.ClientV2/Services/ContainerServiceProvider.cs b/src/FrostFS.SDK.ClientV2/Services/ContainerServiceProvider.cs index dfbd614..44cee16 100644 --- a/src/FrostFS.SDK.ClientV2/Services/ContainerServiceProvider.cs +++ b/src/FrostFS.SDK.ClientV2/Services/ContainerServiceProvider.cs @@ -23,7 +23,7 @@ internal class ContainerServiceProvider : ContextAccessor containerServiceClient = service; } - internal async Task GetContainerAsync(PrmGetContainer args) + internal async Task GetContainerAsync(PrmContainerGet args) { GetRequest request = GetContainerRequest(args.ContainerId.ToGrpcMessage(), args.XHeaders); @@ -34,7 +34,7 @@ internal class ContainerServiceProvider : ContextAccessor return response.Body.Container.ToModel(); } - internal async IAsyncEnumerable ListContainersAsync(PrmListContainer args) + internal async IAsyncEnumerable ListContainersAsync(PrmContainerGetAll args) { var ctx = args.Context!; @@ -59,7 +59,7 @@ internal class ContainerServiceProvider : ContextAccessor } } - internal async Task CreateContainerAsync(PrmCreateContainer args) + internal async Task CreateContainerAsync(PrmContainerCreate args) { var ctx = args.Context!; var grpcContainer = args.Container.ToGrpcMessage(); @@ -87,7 +87,7 @@ internal class ContainerServiceProvider : ContextAccessor return new ContainerId(Base58.Encode(response.Body.ContainerId.Value.ToByteArray())); } - internal async Task DeleteContainerAsync(PrmDeleteContainer args) + internal async Task DeleteContainerAsync(PrmContainerDelete args) { var ctx = args.Context!; var request = new DeleteRequest diff --git a/src/FrostFS.SDK.ClientV2/Services/NetmapServiceProvider.cs b/src/FrostFS.SDK.ClientV2/Services/NetmapServiceProvider.cs index 0d0a6d3..f4d239a 100644 --- a/src/FrostFS.SDK.ClientV2/Services/NetmapServiceProvider.cs +++ b/src/FrostFS.SDK.ClientV2/Services/NetmapServiceProvider.cs @@ -40,7 +40,7 @@ internal class NetmapServiceProvider : ContextAccessor return settings; } - internal async Task GetLocalNodeInfoAsync(PrmGetNodeInfo args) + internal async Task GetLocalNodeInfoAsync(PrmNodeInfo args) { var ctx = args.Context!; var request = new LocalNodeInfoRequest @@ -72,7 +72,7 @@ internal class NetmapServiceProvider : ContextAccessor return response; } - internal async Task GetNetmapSnapshotAsync(PrmGetNetmapSnapshot args) + internal async Task GetNetmapSnapshotAsync(PrmNetmapSnapshot args) { var ctx = args.Context!; diff --git a/src/FrostFS.SDK.ClientV2/Services/ObjectServiceProvider.cs b/src/FrostFS.SDK.ClientV2/Services/ObjectServiceProvider.cs index 4d4cece..035faf7 100644 --- a/src/FrostFS.SDK.ClientV2/Services/ObjectServiceProvider.cs +++ b/src/FrostFS.SDK.ClientV2/Services/ObjectServiceProvider.cs @@ -21,7 +21,7 @@ internal class ObjectServiceProvider(ObjectService.ObjectServiceClient client, C { readonly ObjectTools tools = new(ctx); - internal async Task GetObjectHeadAsync(PrmGetObjectHead args) + internal async Task GetObjectHeadAsync(PrmObjectHeadGet args) { var ctx = args.Context!; var request = new HeadRequest @@ -54,7 +54,7 @@ internal class ObjectServiceProvider(ObjectService.ObjectServiceClient client, C return response.Body.Header.Header.ToModel(); } - internal async Task GetObjectAsync(PrmGetObject args) + internal async Task GetObjectAsync(PrmObjectGet args) { var ctx = args.Context!; @@ -84,7 +84,7 @@ internal class ObjectServiceProvider(ObjectService.ObjectServiceClient client, C return await GetObject(request, ctx); } - internal async Task DeleteObjectAsync(PrmDeleteObject args) + internal async Task DeleteObjectAsync(PrmObjectDelete args) { var ctx = args.Context!; var request = new DeleteRequest @@ -114,7 +114,7 @@ internal class ObjectServiceProvider(ObjectService.ObjectServiceClient client, C Verifier.CheckResponse(response); } - internal async IAsyncEnumerable SearchObjectsAsync(PrmSearchObject args) + internal async IAsyncEnumerable SearchObjectsAsync(PrmObjectSearch args) { var ctx = args.Context!; var request = new SearchRequest @@ -148,7 +148,7 @@ internal class ObjectServiceProvider(ObjectService.ObjectServiceClient client, C } } - internal Task PutObjectAsync(PrmPutObject args) + internal Task PutObjectAsync(PrmObjectPut args) { if (args.Header == null) throw new ArgumentException("Value cannot be null", nameof(args.Header)); @@ -162,7 +162,7 @@ internal class ObjectServiceProvider(ObjectService.ObjectServiceClient client, C return PutStreamObject(args); } - internal async Task PutSingleObjectAsync(PrmPutSingleObject args) + internal async Task PutSingleObjectAsync(PrmSingleObjectPut args) { var ctx = args.Context!; var grpcObject = tools.CreateObject(args.FrostFsObject); @@ -195,7 +195,7 @@ internal class ObjectServiceProvider(ObjectService.ObjectServiceClient client, C static readonly AsyncLocal asyncLocalSession = new (); - private async Task PutClientCutObject(PrmPutObject args) + private async Task PutClientCutObject(PrmObjectPut args) { var ctx = args.Context!; var tokenRaw = await GetOrCreateSession(args, ctx); @@ -209,7 +209,7 @@ internal class ObjectServiceProvider(ObjectService.ObjectServiceClient client, C FrostFsObject? currentObject; - var networkSettings = await Context.Client.GetNetworkSettingsAsync(new PrmGetNetworkSettings(ctx)); + var networkSettings = await Context.Client.GetNetworkSettingsAsync(new PrmNetworkSettings(ctx)); var objectSize = (int)networkSettings.MaxObjectSize; @@ -247,7 +247,7 @@ internal class ObjectServiceProvider(ObjectService.ObjectServiceClient client, C if (largeObject.PayloadLength == fullLength) break; - objectId = await PutSingleObjectAsync(new PrmPutSingleObject(currentObject, ctx) { SessionToken = token }); + objectId = await PutSingleObjectAsync(new PrmSingleObjectPut(currentObject, ctx) { SessionToken = token }); sentObjectIds.Add(objectId!); } @@ -258,7 +258,7 @@ internal class ObjectServiceProvider(ObjectService.ObjectServiceClient client, C currentObject.SetParent(largeObject); - var putSingleObjectParams = new PrmPutSingleObject(currentObject, ctx) { SessionToken = token }; + var putSingleObjectParams = new PrmSingleObjectPut(currentObject, ctx) { SessionToken = token }; objectId = await PutSingleObjectAsync(putSingleObjectParams); @@ -269,17 +269,17 @@ internal class ObjectServiceProvider(ObjectService.ObjectServiceClient client, C linkObject.Header.Attributes.Clear(); - _ = await PutSingleObjectAsync(new PrmPutSingleObject(linkObject, ctx){ SessionToken = token }); + _ = await PutSingleObjectAsync(new PrmSingleObjectPut(linkObject, ctx){ SessionToken = token }); return tools.CalculateObjectId(largeObject.Header); } currentObject.AddAttributes(args.Header!.Attributes); - return await PutSingleObjectAsync(new PrmPutSingleObject(currentObject, ctx)); + return await PutSingleObjectAsync(new PrmSingleObjectPut(currentObject, ctx)); } - private async Task PutStreamObject(PrmPutObject args) + private async Task PutStreamObject(PrmObjectPut args) { var ctx = args.Context!; var payload = args.Payload!; @@ -426,7 +426,7 @@ internal class ObjectServiceProvider(ObjectService.ObjectServiceClient client, C { if (args.SessionToken is null) { - return await Context.Client.CreateSessionInternalAsync(new PrmCreateSession(uint.MaxValue, ctx)); + return await Context.Client.CreateSessionInternalAsync(new PrmSessionCreate(uint.MaxValue, ctx)); } return new Session.SessionToken().Deserialize(args.SessionToken.Token); diff --git a/src/FrostFS.SDK.ClientV2/Services/SessionServiceProvider.cs b/src/FrostFS.SDK.ClientV2/Services/SessionServiceProvider.cs index 64c6597..61ea93f 100644 --- a/src/FrostFS.SDK.ClientV2/Services/SessionServiceProvider.cs +++ b/src/FrostFS.SDK.ClientV2/Services/SessionServiceProvider.cs @@ -15,7 +15,7 @@ internal class SessionServiceProvider : ContextAccessor _sessionServiceClient = sessionServiceClient; } - internal async Task CreateSessionAsync(PrmCreateSession args) + internal async Task CreateSessionAsync(PrmSessionCreate args) { var request = new CreateRequest { diff --git a/src/FrostFS.SDK.ClientV2/Tools/RequestConstructor.cs b/src/FrostFS.SDK.ClientV2/Tools/RequestConstructor.cs index dccb35f..4e1de51 100644 --- a/src/FrostFS.SDK.ClientV2/Tools/RequestConstructor.cs +++ b/src/FrostFS.SDK.ClientV2/Tools/RequestConstructor.cs @@ -33,12 +33,15 @@ public static class RequestConstructor ObjectSessionContext.Types.Verb verb, ECDsa key) { + if (sessionToken.Body.Object?.Target != null) + return; + ObjectSessionContext.Types.Target target = new() { Container = address.ContainerId }; if (address.ObjectId != null) target.Objects.Add(address.ObjectId); - - sessionToken.Body.Object = new() + + sessionToken.Body.Object = new() { Target = target, Verb = verb diff --git a/src/FrostFS.SDK.Cryptography/Extentions.cs b/src/FrostFS.SDK.Cryptography/Extentions.cs index 5584136..534fb7d 100644 --- a/src/FrostFS.SDK.Cryptography/Extentions.cs +++ b/src/FrostFS.SDK.Cryptography/Extentions.cs @@ -21,6 +21,7 @@ public static class Extentions var sha256 = SHA256.Create(); return sha256.ComputeHash(value); } + public static ByteString Sha256(this IMessage data) { return ByteString.CopyFrom(data.ToByteArray().Sha256()); diff --git a/src/FrostFS.SDK.ModelsV2/Constants.cs b/src/FrostFS.SDK.ModelsV2/Constants.cs deleted file mode 100644 index eeb2b67..0000000 --- a/src/FrostFS.SDK.ModelsV2/Constants.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace FrostFS.SDK.ModelsV2; - -public class Constants -{ - public const int ObjectChunkSize = 3 * (1 << 20); - public const int Sha256HashLength = 32; -} \ No newline at end of file diff --git a/src/FrostFS.SDK.ModelsV2/GrpcCallInfo.cs b/src/FrostFS.SDK.ModelsV2/GrpcCallInfo.cs deleted file mode 100644 index 71ac276..0000000 --- a/src/FrostFS.SDK.ModelsV2/GrpcCallInfo.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace FrostFS.SDK.ModelsV2; - -public class GrpcCallInfo(string methodName, long elapsedMicroSec, bool hasError) -{ - public string MethodName { get; set; } = methodName; - public long ElapsedTimeMicroSec { get; set; } = elapsedMicroSec; - public bool HasError { get; } = hasError; -} \ No newline at end of file diff --git a/src/FrostFS.SDK.ModelsV2/Misc/CheckSum.cs b/src/FrostFS.SDK.ModelsV2/Misc/CheckSum.cs new file mode 100644 index 0000000..b62654c --- /dev/null +++ b/src/FrostFS.SDK.ModelsV2/Misc/CheckSum.cs @@ -0,0 +1,25 @@ +using System.Security.Cryptography; +using System.Text; + +namespace FrostFS.SDK.ModelsV2; + +public class CheckSum +{ + public byte[]? Hash { get; set; } + + public static byte[] GetHash(byte[] content) + { + var sha256 = SHA256.Create(); + return sha256.ComputeHash(content); + } + + public static CheckSum CreateCheckSum(byte[] content) + { + return new CheckSum { Hash = GetHash(content) }; + } + + public override string ToString() + { + return Encoding.UTF8.GetString(Hash); + } +} \ No newline at end of file diff --git a/src/FrostFS.SDK.ModelsV2/Misc/Constants.cs b/src/FrostFS.SDK.ModelsV2/Misc/Constants.cs new file mode 100644 index 0000000..4b72aa1 --- /dev/null +++ b/src/FrostFS.SDK.ModelsV2/Misc/Constants.cs @@ -0,0 +1,52 @@ +namespace FrostFS.SDK.ModelsV2; + +public class Constants +{ + public const int ObjectChunkSize = 3 * (1 << 20); + public const int Sha256HashLength = 32; + + // HeaderPrefix is a prefix of key to object header value or property. + public const string HeaderPrefix = "$Object:"; + + // FilterHeaderVersion is a filter key to "version" field of the object header. + public const string FilterHeaderVersion = HeaderPrefix + "version"; + + // FilterHeaderObjectID is a filter key to "object_id" field of the object. + public const string FilterHeaderObjectID = HeaderPrefix + "objectID"; + + // FilterHeaderContainerID is a filter key to "container_id" field of the object header. + public const string FilterHeaderContainerID = HeaderPrefix + "containerID"; + + // FilterHeaderOwnerID is a filter key to "owner_id" field of the object header. + public const string FilterHeaderOwnerID = HeaderPrefix + "ownerID"; + + // FilterHeaderCreationEpoch is a filter key to "creation_epoch" field of the object header. + public const string FilterHeaderCreationEpoch = HeaderPrefix + "creationEpoch"; + + // FilterHeaderPayloadLength is a filter key to "payload_length" field of the object header. + public const string FilterHeaderPayloadLength = HeaderPrefix + "payloadLength"; + + // FilterHeaderPayloadHash is a filter key to "payload_hash" field of the object header. + public const string FilterHeaderPayloadHash = HeaderPrefix + "payloadHash"; + + // FilterHeaderObjectType is a filter key to "object_type" field of the object header. + public const string FilterHeaderObjectType = HeaderPrefix + "objectType"; + + // FilterHeaderHomomorphicHash is a filter key to "homomorphic_hash" field of the object header. + public const string FilterHeaderHomomorphicHash = HeaderPrefix + "homomorphicHash"; + + // FilterHeaderParent is a filter key to "split.parent" field of the object header. + public const string FilterHeaderParent = HeaderPrefix + "split.parent"; + + // FilterHeaderSplitID is a filter key to "split.splitID" field of the object header. + public const string FilterHeaderSplitID = HeaderPrefix + "split.splitID"; + + // FilterHeaderECParent is a filter key to "ec.parent" field of the object header. + public const string FilterHeaderECParent = HeaderPrefix + "ec.parent"; + + // FilterPropertyRoot is a filter key to check if regular object is on top of split hierarchy. + public const string FilterHeaderRoot = HeaderPrefix + "ROOT"; + + // FilterPropertyPhy is a filter key to check if an object physically stored on a node. + public const string FilterHeaderPhy = HeaderPrefix + "PHY"; +} \ No newline at end of file diff --git a/src/FrostFS.SDK.ModelsV2/Netmap/NodeInfo.cs b/src/FrostFS.SDK.ModelsV2/Netmap/NodeInfo.cs index 9433c04..8fa4704 100644 --- a/src/FrostFS.SDK.ModelsV2/Netmap/NodeInfo.cs +++ b/src/FrostFS.SDK.ModelsV2/Netmap/NodeInfo.cs @@ -4,25 +4,16 @@ using FrostFS.SDK.ModelsV2.Enums; namespace FrostFS.SDK.ModelsV2.Netmap; -public class NodeInfo +public class NodeInfo( + Version version, + NodeState state, + IReadOnlyCollection addresses, + IReadOnlyDictionary attributes, + ReadOnlyMemory publicKey) { - public NodeInfo( - Version version, - NodeState state, - IReadOnlyCollection addresses, - IReadOnlyDictionary attributes, - ReadOnlyMemory publicKey) - { - Version = version; - State = state; - Addresses = addresses; - Attributes = attributes; - PublicKey = publicKey; - } - - public NodeState State { get; private set; } - public Version Version { get; private set; } - public IReadOnlyCollection Addresses { get; private set; } - public IReadOnlyDictionary Attributes { get; private set; } - public ReadOnlyMemory PublicKey { get; private set; } + public NodeState State { get; private set; } = state; + public Version Version { get; private set; } = version; + public IReadOnlyCollection Addresses { get; private set; } = addresses; + public IReadOnlyDictionary Attributes { get; private set; } = attributes; + public ReadOnlyMemory PublicKey { get; private set; } = publicKey; } \ No newline at end of file diff --git a/src/FrostFS.SDK.ModelsV2/SessionToken.cs b/src/FrostFS.SDK.ModelsV2/Session/SessionToken.cs similarity index 100% rename from src/FrostFS.SDK.ModelsV2/SessionToken.cs rename to src/FrostFS.SDK.ModelsV2/Session/SessionToken.cs diff --git a/src/FrostFS.SDK.Tests/ContainerTest.cs b/src/FrostFS.SDK.Tests/ContainerTest.cs index 9293579..8fbdc2a 100644 --- a/src/FrostFS.SDK.Tests/ContainerTest.cs +++ b/src/FrostFS.SDK.Tests/ContainerTest.cs @@ -52,7 +52,7 @@ public class ContainerTest : ContainerTestsBase [Fact] public async void CreateContainerTest() { - var param = new PrmCreateContainer(new ModelsV2.Container(BasicAcl.PublicRW, Mocker.PlacementPolicy)); + var param = new PrmContainerCreate(new ModelsV2.Container(BasicAcl.PublicRW, Mocker.PlacementPolicy)); var result = await GetClient().CreateContainerAsync(param); @@ -68,7 +68,7 @@ public class ContainerTest : ContainerTestsBase Mocker.Acl = BasicAcl.PublicRO; - var result = await GetClient().GetContainerAsync(new PrmGetContainer(cid)); + var result = await GetClient().GetContainerAsync(new PrmContainerGet(cid)); Assert.NotNull(result); Assert.Equal(Mocker.Acl, result.BasicAcl); @@ -104,7 +104,7 @@ public class ContainerTest : ContainerTestsBase Mocker.ReturnContainerRemoved = true; var cid = new ContainerId(Base58.Encode(Mocker.ContainerGuid.ToBytes())); - await GetClient().DeleteContainerAsync(new PrmDeleteContainer(cid)); + await GetClient().DeleteContainerAsync(new PrmContainerDelete(cid)); Assert.Single(Mocker.Requests); diff --git a/src/FrostFS.SDK.Tests/ObjectTest.cs b/src/FrostFS.SDK.Tests/ObjectTest.cs index 2513908..05573ff 100644 --- a/src/FrostFS.SDK.Tests/ObjectTest.cs +++ b/src/FrostFS.SDK.Tests/ObjectTest.cs @@ -77,7 +77,7 @@ public class ObjectTest : ObjectTestsBase Timeout = TimeSpan.FromSeconds(2) }; - var result = await client.GetObjectAsync(new PrmGetObject(ContainerId, objectId) { Context = context }); + var result = await client.GetObjectAsync(new PrmObjectGet(ContainerId, objectId) { Context = context }); Assert.NotNull(result); @@ -98,7 +98,7 @@ public class ObjectTest : ObjectTestsBase var bytes = new byte[1024]; rnd.NextBytes(bytes); - var param = new PrmPutObject + var param = new PrmObjectPut { Header = Mocker.ObjectHeader, Payload = new MemoryStream(bytes), @@ -133,7 +133,7 @@ public class ObjectTest : ObjectTestsBase byte[] bytes = File.ReadAllBytes(@".\..\..\..\TestData\cat.jpg"); var fileLength = bytes.Length; - var param = new PrmPutObject + var param = new PrmObjectPut { Header = Mocker.ObjectHeader, Payload = new MemoryStream(bytes), @@ -197,7 +197,7 @@ public class ObjectTest : ObjectTestsBase { Mocker.ObjectId = new ObjectID { Value = ByteString.CopyFrom(SHA256.HashData(Encoding.UTF8.GetBytes("test"))) }.ToModel(); - await GetClient().DeleteObjectAsync(new PrmDeleteObject(ContainerId, Mocker.ObjectId)); + await GetClient().DeleteObjectAsync(new PrmObjectDelete(ContainerId, Mocker.ObjectId)); var request = Mocker.DeleteRequests.FirstOrDefault(); Assert.NotNull(request); @@ -210,7 +210,7 @@ public class ObjectTest : ObjectTestsBase { Mocker.ObjectId = new ObjectID { Value = ByteString.CopyFrom(SHA256.HashData(Encoding.UTF8.GetBytes("test"))) }.ToModel(); - var response = await GetClient().GetObjectHeadAsync(new PrmGetObjectHead(ContainerId, Mocker.ObjectId)); + var response = await GetClient().GetObjectHeadAsync(new PrmObjectHeadGet(ContainerId, Mocker.ObjectId)); var request = Mocker.HeadRequests.FirstOrDefault(); Assert.NotNull(request); diff --git a/src/FrostFS.SDK.Tests/SmokeTests.cs b/src/FrostFS.SDK.Tests/SmokeTests.cs index ba7e32c..406e948 100644 --- a/src/FrostFS.SDK.Tests/SmokeTests.cs +++ b/src/FrostFS.SDK.Tests/SmokeTests.cs @@ -18,9 +18,9 @@ namespace FrostFS.SDK.SmokeTests; public class SmokeTests { - private static PrmWait lightWait = new (100, 1); + private static readonly PrmWait lightWait = new (100, 1); private readonly string key = "KwHDAJ66o8FoLBjVbjP2sWBmgBMGjt7Vv4boA7xQrBoAYBE397Aq"; - private readonly string url = "http://172.29.238.97:8080"; + private readonly string url = "http://172.23.32.4:8080"; [Fact] public async void NetworkMapTest() @@ -74,7 +74,7 @@ public class SmokeTests { using var client = Client.GetInstance(GetOptions(this.key, this.url)); - var token = await client.CreateSessionAsync(new PrmCreateSession(100)); + var token = await client.CreateSessionAsync(new PrmSessionCreate(100)); var session = new Session.SessionToken().Deserialize(token.Token); @@ -100,9 +100,9 @@ public class SmokeTests await Cleanup(client); - var token = await client.CreateSessionAsync(new PrmCreateSession(int.MaxValue)); + var token = await client.CreateSessionAsync(new PrmSessionCreate(int.MaxValue)); - var createContainerParam = new PrmCreateContainer( + var createContainerParam = new PrmContainerCreate( new ModelsV2.Container(BasicAcl.PublicRW, new PlacementPolicy(true, new Replica(1)))); createContainerParam.XHeaders.Add("key1", "value1"); @@ -111,7 +111,7 @@ public class SmokeTests var bytes = GetRandomBytes(1024); - var param = new PrmPutObject + var param = new PrmObjectPut { Header = new ObjectHeader( containerId: containerId, @@ -124,7 +124,7 @@ public class SmokeTests var objectId = await client.PutObjectAsync(param); - var @object = await client.GetObjectAsync(new PrmGetObject(containerId, objectId)); + var @object = await client.GetObjectAsync(new PrmObjectGet(containerId, objectId)); var downloadedBytes = new byte[@object.Header.PayloadLength]; MemoryStream ms = new(downloadedBytes); @@ -161,7 +161,7 @@ public class SmokeTests }) }; - var createContainerParam = new PrmCreateContainer( + var createContainerParam = new PrmContainerCreate( new ModelsV2.Container(BasicAcl.PublicRW, new PlacementPolicy(true, new Replica(1)))) { Context = ctx @@ -169,13 +169,13 @@ public class SmokeTests var containerId = await client.CreateContainerAsync(createContainerParam); - var container = await client.GetContainerAsync(new PrmGetContainer(containerId,ctx)); + var container = await client.GetContainerAsync(new PrmContainerGet(containerId,ctx)); Assert.NotNull(container); Assert.True(callbackInvoked); var bytes = GetRandomBytes(objectSize); - var param = new PrmPutObject + var param = new PrmObjectPut { Header = new ObjectHeader( containerId: containerId, @@ -194,11 +194,11 @@ public class SmokeTests var filter = new ObjectFilter(ObjectMatchType.Equals, "fileName", "test"); bool hasObject = false; - await foreach (var objId in client.SearchObjectsAsync(new PrmSearchObject(containerId) { Filters = [filter] })) + await foreach (var objId in client.SearchObjectsAsync(new PrmObjectSearch(containerId) { Filters = [filter] })) { hasObject = true; - var objHeader = await client.GetObjectHeadAsync(new PrmGetObjectHead(containerId, objectId)); + var objHeader = await client.GetObjectHeadAsync(new PrmObjectHeadGet(containerId, objectId)); Assert.Equal((ulong)bytes.Length, objHeader.PayloadLength); Assert.Single(objHeader.Attributes); Assert.Equal("fileName", objHeader.Attributes.First().Key); @@ -207,7 +207,7 @@ public class SmokeTests Assert.True(hasObject); - var @object = await client.GetObjectAsync(new PrmGetObject(containerId, objectId)); + var @object = await client.GetObjectAsync(new PrmObjectGet(containerId, objectId)); var downloadedBytes = new byte[@object.Header.PayloadLength]; MemoryStream ms = new(downloadedBytes); @@ -236,7 +236,7 @@ public class SmokeTests { using var client = Client.GetInstance(GetOptions(this.key, this.url)); - var token = await client.CreateSessionAsync(new PrmCreateSession(int.MaxValue)); + var token = await client.CreateSessionAsync(new PrmSessionCreate(int.MaxValue)); await Cleanup(client); @@ -246,7 +246,7 @@ public class SmokeTests Callback = new((CallStatistics cs) => Assert.True(cs.ElapsedMicroSeconds > 0)) }; - var createContainerParam = new PrmCreateContainer( + var createContainerParam = new PrmContainerCreate( new ModelsV2.Container(BasicAcl.PublicRW, new PlacementPolicy(true, new Replica(1)))) { Context = ctx @@ -254,12 +254,12 @@ public class SmokeTests var containerId = await client.CreateContainerAsync(createContainerParam); - var container = await client.GetContainerAsync(new PrmGetContainer(containerId,ctx)); + var container = await client.GetContainerAsync(new PrmContainerGet(containerId,ctx)); Assert.NotNull(container); var bytes = GetRandomBytes(objectSize); - var param = new PrmPutObject + var param = new PrmObjectPut { Header = new ObjectHeader( containerId: containerId, @@ -279,11 +279,11 @@ public class SmokeTests var filter = new ObjectFilter(ObjectMatchType.Equals, "fileName", "test"); bool hasObject = false; - await foreach (var objId in client.SearchObjectsAsync(new PrmSearchObject(containerId) { Filters = [filter], SessionToken = token })) + await foreach (var objId in client.SearchObjectsAsync(new PrmObjectSearch(containerId) { Filters = [filter], SessionToken = token })) { hasObject = true; - var objHeader = await client.GetObjectHeadAsync(new PrmGetObjectHead(containerId, objectId) { SessionToken = token }); + var objHeader = await client.GetObjectHeadAsync(new PrmObjectHeadGet(containerId, objectId) { SessionToken = token }); Assert.Equal((ulong)bytes.Length, objHeader.PayloadLength); Assert.Single(objHeader.Attributes); Assert.Equal("fileName", objHeader.Attributes.First().Key); @@ -292,7 +292,7 @@ public class SmokeTests Assert.True(hasObject); - var @object = await client.GetObjectAsync(new PrmGetObject(containerId, objectId) { SessionToken = token }); + var @object = await client.GetObjectAsync(new PrmObjectGet(containerId, objectId) { SessionToken = token }); var downloadedBytes = new byte[@object.Header.PayloadLength]; MemoryStream ms = new(downloadedBytes); @@ -325,7 +325,7 @@ public class SmokeTests await Cleanup(client); - var createContainerParam = new PrmCreateContainer(new ModelsV2.Container(BasicAcl.PublicRW, new PlacementPolicy(true, new Replica(1)))) + var createContainerParam = new PrmContainerCreate(new ModelsV2.Container(BasicAcl.PublicRW, new PlacementPolicy(true, new Replica(1)))) { WaitParams = lightWait }; @@ -338,13 +338,13 @@ public class SmokeTests Interceptors = new([new MetricsInterceptor()]) }; - var container = await client.GetContainerAsync(new PrmGetContainer(containerId, context)); + var container = await client.GetContainerAsync(new PrmContainerGet(containerId, context)); Assert.NotNull(container); byte[] bytes = GetRandomBytes(objectSize); - var param = new PrmPutObject + var param = new PrmObjectPut { Header = new ObjectHeader( containerId: containerId, @@ -359,11 +359,11 @@ public class SmokeTests var filter = new ObjectFilter(ObjectMatchType.Equals, "fileName", "test"); bool hasObject = false; - await foreach (var objId in client.SearchObjectsAsync(new PrmSearchObject(containerId, filter))) + await foreach (var objId in client.SearchObjectsAsync(new PrmObjectSearch(containerId, filter))) { hasObject = true; - var objHeader = await client.GetObjectHeadAsync(new PrmGetObjectHead(containerId, objectId)); + var objHeader = await client.GetObjectHeadAsync(new PrmObjectHeadGet(containerId, objectId)); Assert.Equal((ulong)bytes.Length, objHeader.PayloadLength); Assert.Single(objHeader.Attributes); Assert.Equal("fileName", objHeader.Attributes.First().Key); @@ -372,7 +372,7 @@ public class SmokeTests Assert.True(hasObject); - var @object = await client.GetObjectAsync(new PrmGetObject(containerId, objectId)); + var @object = await client.GetObjectAsync(new PrmObjectGet(containerId, objectId)); var downloadedBytes = new byte[@object.Header.PayloadLength]; MemoryStream ms = new(downloadedBytes); @@ -425,7 +425,7 @@ public class SmokeTests { await foreach (var cid in client.ListContainersAsync()) { - await client.DeleteContainerAsync(new PrmDeleteContainer(cid) { WaitParams = lightWait }); + await client.DeleteContainerAsync(new PrmContainerDelete(cid) { WaitParams = lightWait }); } } } @@ -457,7 +457,8 @@ public class MetricsInterceptor() : Interceptor watch.Stop(); - var elapsed = watch.ElapsedTicks * 1_000_000/Stopwatch.Frequency; + // Do somethins with call info + // var elapsed = watch.ElapsedTicks * 1_000_000/Stopwatch.Frequency; return response; }