namespace FrostFS.SDK.Client; public readonly struct PrmRangeGet( FrostFsContainerId containerId, FrostFsObjectId objectId, FrostFsRange range, bool raw = false, FrostFsSessionToken? sessionToken = null, string[]? xheaders = null) : ISessionToken, System.IEquatable { public FrostFsContainerId ContainerId { get; } = containerId; public FrostFsObjectId ObjectId { get; } = objectId; public FrostFsRange Range { get; } = range; public bool Raw { get; } = raw; /// public FrostFsSessionToken? SessionToken { get; } = sessionToken; /// /// FrostFS request X-Headers /// public string[] XHeaders { get; } = xheaders ?? []; public override readonly bool Equals(object obj) { if (obj == null || obj is not PrmRangeGet) return false; return Equals((PrmRangeGet)obj); } public readonly bool Equals(PrmRangeGet other) { return GetHashCode() == other.GetHashCode(); } public override readonly int GetHashCode() { return ContainerId.GetHashCode() ^ ObjectId.GetHashCode() ^ Range.GetHashCode() ^ Raw.GetHashCode(); } public static bool operator ==(PrmRangeGet left, PrmRangeGet right) { return left.Equals(right); } public static bool operator !=(PrmRangeGet left, PrmRangeGet right) { return !(left == right); } }