2015-09-28 04:01:17 +02:00
|
|
|
|
using System;
|
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
|
2016-04-18 12:50:57 +02:00
|
|
|
|
namespace TLSharp.Core.MTProto.Crypto
|
|
|
|
|
|
{
|
|
|
|
|
|
public class Salt : IComparable<Salt>
|
|
|
|
|
|
{
|
|
|
|
|
|
public Salt(int validSince, int validUntil, ulong salt)
|
|
|
|
|
|
{
|
2017-04-13 08:38:01 +02:00
|
|
|
|
ValidSince = validSince;
|
|
|
|
|
|
ValidUntil = validUntil;
|
|
|
|
|
|
Value = salt;
|
2015-09-28 04:01:17 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
2017-04-13 08:38:01 +02:00
|
|
|
|
public int ValidSince { get; }
|
2015-09-28 04:01:17 +02:00
|
|
|
|
|
2017-04-13 08:38:01 +02:00
|
|
|
|
public int ValidUntil { get; }
|
2015-09-28 04:01:17 +02:00
|
|
|
|
|
2017-04-13 08:38:01 +02:00
|
|
|
|
public ulong Value { get; }
|
2015-09-28 04:01:17 +02:00
|
|
|
|
|
2016-04-18 12:50:57 +02:00
|
|
|
|
public int CompareTo(Salt other)
|
|
|
|
|
|
{
|
2017-04-13 08:38:01 +02:00
|
|
|
|
return ValidUntil.CompareTo(other.ValidSince);
|
2015-09-28 04:01:17 +02:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2016-04-18 12:50:57 +02:00
|
|
|
|
public class SaltCollection
|
|
|
|
|
|
{
|
|
|
|
|
|
private SortedSet<Salt> salts;
|
2015-09-28 04:01:17 +02:00
|
|
|
|
|
2017-04-13 08:38:01 +02:00
|
|
|
|
public int Count => salts.Count;
|
|
|
|
|
|
|
2016-04-18 12:50:57 +02:00
|
|
|
|
public void Add(Salt salt)
|
|
|
|
|
|
{
|
2015-09-28 04:01:17 +02:00
|
|
|
|
salts.Add(salt);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// TODO: get actual salt and other...
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2016-04-18 12:50:57 +02:00
|
|
|
|
public class GetFutureSaltsResponse
|
|
|
|
|
|
{
|
|
|
|
|
|
public GetFutureSaltsResponse(ulong requestId, int now)
|
|
|
|
|
|
{
|
2017-04-13 08:38:01 +02:00
|
|
|
|
RequestId = requestId;
|
|
|
|
|
|
Now = now;
|
2015-09-28 04:01:17 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
2017-04-13 08:38:01 +02:00
|
|
|
|
public ulong RequestId { get; }
|
2015-09-28 04:01:17 +02:00
|
|
|
|
|
2017-04-13 08:38:01 +02:00
|
|
|
|
public int Now { get; }
|
2015-09-28 04:01:17 +02:00
|
|
|
|
|
2017-04-13 08:38:01 +02:00
|
|
|
|
public SaltCollection Salts { get; }
|
2015-09-28 04:01:17 +02:00
|
|
|
|
|
2017-04-13 08:38:01 +02:00
|
|
|
|
public void AddSalt(Salt salt)
|
2016-04-18 12:50:57 +02:00
|
|
|
|
{
|
2017-04-13 08:38:01 +02:00
|
|
|
|
Salts.Add(salt);
|
2015-09-28 04:01:17 +02:00
|
|
|
|
}
|
|
|
|
|
|
}
|
2017-04-13 08:38:01 +02:00
|
|
|
|
}
|