Add attr-only patch without body modification
This commit is contained in:
parent
7c66b4cbe2
commit
e179c32a3c
3 changed files with 104 additions and 81 deletions
|
@ -131,6 +131,26 @@ public static class ObjectTools
|
|||
grpcHeader.Split.Previous = split.Previous?.ToMessage();
|
||||
}
|
||||
|
||||
internal static Header.Types.Split CreateSplit(FrostFsSplit split, ClientKey key, FrostFsOwner owner, FrostFsVersion version)
|
||||
{
|
||||
if (split.ParentHeader == null)
|
||||
{
|
||||
return split.GetSplit();
|
||||
}
|
||||
split.ParentHeader.PayloadCheckSum ??= Array.Empty<byte>().Sha256();
|
||||
var grpcParentHeader = CreateHeader(split.ParentHeader, split.ParentHeader.PayloadCheckSum, owner, version);
|
||||
|
||||
var res = split.GetSplit();
|
||||
res.ParentHeader = grpcParentHeader;
|
||||
res.Parent ??= new ObjectID { Value = grpcParentHeader.Sha256() };
|
||||
res.ParentSignature ??= new Signature
|
||||
{
|
||||
Key = key.PublicKeyProto,
|
||||
Sign = key.ECDsaKey.SignData(res.Parent.ToByteArray()),
|
||||
};
|
||||
return res;
|
||||
}
|
||||
|
||||
internal static Header CreateHeader(
|
||||
FrostFsObjectHeader header,
|
||||
ReadOnlyMemory<byte> payloadChecksum,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue