[#28] Clients: Make immutable parameters
Signed-off-by: Pavel Gross <p.gross@yadro.com>
This commit is contained in:
parent
749000a090
commit
9bb7b5eff8
62 changed files with 2742 additions and 963 deletions
|
@ -36,13 +36,19 @@ public struct FrostFsChainTarget(FrostFsTargetType type, string name) : IEquatab
|
|||
|
||||
public override readonly bool Equals(object obj)
|
||||
{
|
||||
var target = (FrostFsChainTarget)obj;
|
||||
return Equals(target);
|
||||
if (obj == null || obj is not FrostFsChainTarget)
|
||||
return false;
|
||||
|
||||
return Equals((FrostFsChainTarget)obj);
|
||||
}
|
||||
public readonly bool Equals(FrostFsChainTarget other)
|
||||
{
|
||||
return Type == other.Type && Name.Equals(other.Name, StringComparison.Ordinal);
|
||||
}
|
||||
|
||||
public override readonly int GetHashCode()
|
||||
{
|
||||
return $"{Name}{Type}".GetHashCode();
|
||||
return Name.GetHashCode() ^ (int)Type;
|
||||
}
|
||||
|
||||
public static bool operator ==(FrostFsChainTarget left, FrostFsChainTarget right)
|
||||
|
@ -54,9 +60,4 @@ public struct FrostFsChainTarget(FrostFsTargetType type, string name) : IEquatab
|
|||
{
|
||||
return !(left == right);
|
||||
}
|
||||
|
||||
public readonly bool Equals(FrostFsChainTarget other)
|
||||
{
|
||||
return Type == other.Type && Name.Equals(other.Name, StringComparison.Ordinal);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
namespace FrostFS.SDK;
|
||||
|
||||
public class FrostFsHeaderResult
|
||||
{
|
||||
public FrostFsObjectHeader? HeaderInfo { get; internal set; }
|
||||
|
||||
public FrostFsSplitInfo? SplitInfo { get; internal set; }
|
||||
}
|
|
@ -24,5 +24,4 @@ public class FrostFsSplit(SplitId splitId,
|
|||
public FrostFsObjectHeader? ParentHeader { get; set; } = parentHeader;
|
||||
|
||||
public ReadOnlyCollection<FrostFsObjectId>? Children { get; } = children;
|
||||
|
||||
}
|
||||
|
|
26
src/FrostFS.SDK.Client/Models/Object/FrostFsSplitInfo.cs
Normal file
26
src/FrostFS.SDK.Client/Models/Object/FrostFsSplitInfo.cs
Normal file
|
@ -0,0 +1,26 @@
|
|||
using FrostFS.Object;
|
||||
using FrostFS.SDK.Cryptography;
|
||||
|
||||
namespace FrostFS.SDK;
|
||||
|
||||
public class FrostFsSplitInfo
|
||||
{
|
||||
private readonly SplitInfo _splitInfo;
|
||||
|
||||
private SplitId? _splitId;
|
||||
|
||||
private FrostFsObjectId? _link;
|
||||
|
||||
private FrostFsObjectId? _lastPart;
|
||||
|
||||
internal FrostFsSplitInfo(SplitInfo splitInfo)
|
||||
{
|
||||
_splitInfo = splitInfo;
|
||||
}
|
||||
|
||||
public SplitId SplitId => _splitId ??= new SplitId(_splitInfo.SplitId.ToUuid());
|
||||
|
||||
public FrostFsObjectId Link => _link ??= FrostFsObjectId.FromHash(_splitInfo.Link.Value.Span);
|
||||
|
||||
public FrostFsObjectId LastPart => _lastPart ??= FrostFsObjectId.FromHash(_splitInfo.LastPart.Value.Span);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue