TLSharp/TeleSharp.TL/TLMethod.cs
Andrzej Gołaszewski ca3a71e39a update to layer 71
code formatting
2017-12-20 12:06:31 +01:00

46 lines
1 KiB
C#

using System;
using System.IO;
namespace TeleSharp.TL
{
public abstract class TLMethod : TLObject
{
public virtual bool Confirmed { get; } = true;
public bool ConfirmReceived { get; set; }
public bool Dirty { get; set; }
public long MessageId { get; set; }
public bool NeedResend
{
get
{
return Dirty || (Confirmed && !ConfirmReceived && DateTime.Now - SendTime > TimeSpan.FromSeconds(3));
}
}
public virtual bool Responded { get; } = false;
public bool Sended { get; private set; }
public DateTime SendTime { get; private set; }
public int Sequence { get; set; }
public abstract void DeserializeResponse(BinaryReader stream);
public virtual void OnConfirm()
{
ConfirmReceived = true;
}
public virtual void OnSendSuccess()
{
SendTime = DateTime.Now;
Sended = true;
}
}
}