[#31] Client: fix for session
Signed-off-by: Pavel Gross <p.gross@yadro.com>
This commit is contained in:
parent
195854a45b
commit
2e56c13946
10 changed files with 247 additions and 146 deletions
|
@ -47,7 +47,8 @@ public struct FrostFsPlacementPolicy(bool unique,
|
|||
Filters = { },
|
||||
Selectors = { },
|
||||
Replicas = { },
|
||||
Unique = Unique
|
||||
Unique = Unique,
|
||||
ContainerBackupFactor = BackupFactor
|
||||
};
|
||||
|
||||
foreach (var replica in Replicas)
|
||||
|
|
|
@ -45,9 +45,10 @@ public class FrostFsObject
|
|||
/// <value>Reader for received data</value>
|
||||
public IObjectReader? ObjectReader { get; set; }
|
||||
|
||||
internal byte[] SingleObjectPayload
|
||||
public byte[] SingleObjectPayload
|
||||
{
|
||||
get { return bytes ?? []; }
|
||||
set { bytes = value; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
using System;
|
||||
|
||||
using System.Diagnostics;
|
||||
using FrostFS.Refs;
|
||||
|
||||
using FrostFS.SDK.Client;
|
||||
|
@ -36,7 +36,9 @@ public class FrostFsSessionToken
|
|||
get
|
||||
{
|
||||
if (_id == Guid.Empty)
|
||||
{
|
||||
_id = ProtoId.ToUuid();
|
||||
}
|
||||
|
||||
return _id;
|
||||
}
|
||||
|
@ -47,7 +49,9 @@ public class FrostFsSessionToken
|
|||
get
|
||||
{
|
||||
if (_sessionKey.IsEmpty)
|
||||
{
|
||||
_sessionKey = ProtoSessionKey.Memory;
|
||||
}
|
||||
|
||||
return _sessionKey;
|
||||
}
|
||||
|
@ -69,12 +73,15 @@ public class FrostFsSessionToken
|
|||
sessionToken.Body.Container = new() { Verb = verb };
|
||||
|
||||
if (containerId != null)
|
||||
{
|
||||
sessionToken.Body.Container.ContainerId = containerId;
|
||||
}
|
||||
else
|
||||
{
|
||||
sessionToken.Body.Container.Wildcard = true;
|
||||
}
|
||||
|
||||
sessionToken.Body.SessionKey = key.PublicKeyProto;
|
||||
|
||||
sessionToken.Signature = key.ECDsaKey.SignMessagePart(sessionToken.Body);
|
||||
|
||||
return sessionToken;
|
||||
|
@ -100,7 +107,9 @@ public class FrostFsSessionToken
|
|||
ObjectSessionContext.Types.Target target = new() { Container = address.ContainerId };
|
||||
|
||||
if (address.ObjectId != null)
|
||||
{
|
||||
target.Objects.Add(address.ObjectId);
|
||||
}
|
||||
|
||||
sessionToken.Body.Object = new()
|
||||
{
|
||||
|
@ -108,8 +117,6 @@ public class FrostFsSessionToken
|
|||
Verb = verb
|
||||
};
|
||||
|
||||
sessionToken.Body.SessionKey = key.PublicKeyProto;
|
||||
|
||||
sessionToken.Signature = key.ECDsaKey.SignMessagePart(sessionToken.Body);
|
||||
|
||||
return sessionToken;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue