style: more consistent naming removing underscores

There were less places with underscores in field names than
places without them, so we now are consistent with the most
abundant occurrence.
This commit is contained in:
Andres G. Aragoneses 2020-01-31 14:39:19 +08:00
parent c031fa4f6d
commit 90f9305dd6
8 changed files with 96 additions and 97 deletions

View file

@ -10,11 +10,11 @@ namespace TLSharp.Core.Network
private int timeOffset; private int timeOffset;
private long lastMessageId; private long lastMessageId;
private Random random; private Random random;
private TcpTransport _transport; private TcpTransport transport;
public MtProtoPlainSender(TcpTransport transport) public MtProtoPlainSender(TcpTransport transport)
{ {
_transport = transport; this.transport = transport;
random = new Random(); random = new Random();
} }
@ -33,7 +33,7 @@ namespace TLSharp.Core.Network
byte[] packet = memoryStream.ToArray(); byte[] packet = memoryStream.ToArray();
await _transport.Send(packet, token).ConfigureAwait(false); await transport.Send(packet, token).ConfigureAwait(false);
} }
} }
} }
@ -42,7 +42,7 @@ namespace TLSharp.Core.Network
{ {
token.ThrowIfCancellationRequested(); token.ThrowIfCancellationRequested();
var result = await _transport.Receive(token).ConfigureAwait(false); var result = await transport.Receive(token).ConfigureAwait(false);
using (var memoryStream = new MemoryStream(result.Body)) using (var memoryStream = new MemoryStream(result.Body))
{ {

View file

@ -21,20 +21,20 @@ namespace TLSharp.Core.Network
{ {
//private ulong sessionId = GenerateRandomUlong(); //private ulong sessionId = GenerateRandomUlong();
private readonly TcpTransport _transport; private readonly TcpTransport transport;
private readonly Session _session; private readonly Session session;
public readonly List<ulong> needConfirmation = new List<ulong>(); public readonly List<ulong> needConfirmation = new List<ulong>();
public MtProtoSender(TcpTransport transport, Session session) public MtProtoSender(TcpTransport transport, Session session)
{ {
_transport = transport; this.transport = transport;
_session = session; this.session = session;
} }
private int GenerateSequence(bool confirmed) private int GenerateSequence(bool confirmed)
{ {
return confirmed ? _session.Sequence++ * 2 + 1 : _session.Sequence * 2; return confirmed ? session.Sequence++ * 2 + 1 : session.Sequence * 2;
} }
public async Task Send(TeleSharp.TL.TLMethod request, CancellationToken token = default(CancellationToken)) public async Task Send(TeleSharp.TL.TLMethod request, CancellationToken token = default(CancellationToken))
@ -62,14 +62,14 @@ namespace TLSharp.Core.Network
await Send(memory.ToArray(), request, token).ConfigureAwait(false); await Send(memory.ToArray(), request, token).ConfigureAwait(false);
} }
_session.Save(); session.Save();
} }
public async Task Send(byte[] packet, TeleSharp.TL.TLMethod request, CancellationToken token = default(CancellationToken)) public async Task Send(byte[] packet, TeleSharp.TL.TLMethod request, CancellationToken token = default(CancellationToken))
{ {
token.ThrowIfCancellationRequested(); token.ThrowIfCancellationRequested();
request.MessageId = _session.GetNewMessageId(); request.MessageId = session.GetNewMessageId();
byte[] msgKey; byte[] msgKey;
byte[] ciphertext; byte[] ciphertext;
@ -77,15 +77,15 @@ namespace TLSharp.Core.Network
{ {
using (BinaryWriter plaintextWriter = new BinaryWriter(plaintextPacket)) using (BinaryWriter plaintextWriter = new BinaryWriter(plaintextPacket))
{ {
plaintextWriter.Write(_session.Salt); plaintextWriter.Write(session.Salt);
plaintextWriter.Write(_session.Id); plaintextWriter.Write(session.Id);
plaintextWriter.Write(request.MessageId); plaintextWriter.Write(request.MessageId);
plaintextWriter.Write(GenerateSequence(request.Confirmed)); plaintextWriter.Write(GenerateSequence(request.Confirmed));
plaintextWriter.Write(packet.Length); plaintextWriter.Write(packet.Length);
plaintextWriter.Write(packet); plaintextWriter.Write(packet);
msgKey = Helpers.CalcMsgKey(plaintextPacket.GetBuffer()); msgKey = Helpers.CalcMsgKey(plaintextPacket.GetBuffer());
ciphertext = AES.EncryptAES(Helpers.CalcKey(_session.AuthKey.Data, msgKey, true), plaintextPacket.GetBuffer()); ciphertext = AES.EncryptAES(Helpers.CalcKey(session.AuthKey.Data, msgKey, true), plaintextPacket.GetBuffer());
} }
} }
@ -93,11 +93,11 @@ namespace TLSharp.Core.Network
{ {
using (BinaryWriter writer = new BinaryWriter(ciphertextPacket)) using (BinaryWriter writer = new BinaryWriter(ciphertextPacket))
{ {
writer.Write(_session.AuthKey.Id); writer.Write(session.AuthKey.Id);
writer.Write(msgKey); writer.Write(msgKey);
writer.Write(ciphertext); writer.Write(ciphertext);
await _transport.Send(ciphertextPacket.GetBuffer(), token).ConfigureAwait(false); await transport.Send(ciphertextPacket.GetBuffer(), token).ConfigureAwait(false);
} }
} }
} }
@ -116,7 +116,7 @@ namespace TLSharp.Core.Network
ulong remoteAuthKeyId = inputReader.ReadUInt64(); // TODO: check auth key id ulong remoteAuthKeyId = inputReader.ReadUInt64(); // TODO: check auth key id
byte[] msgKey = inputReader.ReadBytes(16); // TODO: check msg_key correctness byte[] msgKey = inputReader.ReadBytes(16); // TODO: check msg_key correctness
AESKeyData keyData = Helpers.CalcKey(_session.AuthKey.Data, msgKey, false); AESKeyData keyData = Helpers.CalcKey(session.AuthKey.Data, msgKey, false);
byte[] plaintext = AES.DecryptAES(keyData, inputReader.ReadBytes((int)(inputStream.Length - inputStream.Position))); byte[] plaintext = AES.DecryptAES(keyData, inputReader.ReadBytes((int)(inputStream.Length - inputStream.Position)));
@ -138,7 +138,7 @@ namespace TLSharp.Core.Network
{ {
while (!request.ConfirmReceived) while (!request.ConfirmReceived)
{ {
var result = DecodeMessage((await _transport.Receive(token).ConfigureAwait(false)).Body); var result = DecodeMessage((await transport.Receive(token).ConfigureAwait(false)).Body);
using (var messageStream = new MemoryStream(result.Item1, false)) using (var messageStream = new MemoryStream(result.Item1, false))
using (var messageReader = new BinaryReader(messageStream)) using (var messageReader = new BinaryReader(messageStream))
@ -439,7 +439,7 @@ namespace TLSharp.Core.Network
//logger.debug("bad_server_salt: msgid {0}, seq {1}, errorcode {2}, newsalt {3}", badMsgId, badMsgSeqNo, errorCode, newSalt); //logger.debug("bad_server_salt: msgid {0}, seq {1}, errorcode {2}, newsalt {3}", badMsgId, badMsgSeqNo, errorCode, newSalt);
_session.Salt = newSalt; session.Salt = newSalt;
//resend //resend
Send(request, token); Send(request, token);

View file

@ -7,19 +7,19 @@ namespace TLSharp.Core.Network.Requests
{ {
public class AckRequest : TLMethod public class AckRequest : TLMethod
{ {
private readonly List<ulong> _msgs; private readonly List<ulong> msgs;
public AckRequest(List<ulong> msgs) public AckRequest(List<ulong> msgs)
{ {
_msgs = msgs; this.msgs = msgs;
} }
public override void SerializeBody(BinaryWriter writer) public override void SerializeBody(BinaryWriter writer)
{ {
writer.Write(0x62d6b459); // msgs_ack writer.Write(0x62d6b459); // msgs_ack
writer.Write(0x1cb5c415); // Vector writer.Write(0x1cb5c415); // Vector
writer.Write(_msgs.Count); writer.Write(msgs.Count);
foreach (ulong messageId in _msgs) foreach (ulong messageId in msgs)
{ {
writer.Write(messageId); writer.Write(messageId);
} }

View file

@ -10,8 +10,8 @@ namespace TLSharp.Core.Network
public class TcpTransport : IDisposable public class TcpTransport : IDisposable
{ {
private readonly TcpClient _tcpClient; private readonly TcpClient tcpClient;
private readonly NetworkStream _stream; private readonly NetworkStream stream;
private int sendCounter = 0; private int sendCounter = 0;
public TcpTransport(string address, int port, TcpClientConnectionHandler handler = null) public TcpTransport(string address, int port, TcpClientConnectionHandler handler = null)
@ -21,38 +21,38 @@ namespace TLSharp.Core.Network
var ipAddress = IPAddress.Parse(address); var ipAddress = IPAddress.Parse(address);
var endpoint = new IPEndPoint(ipAddress, port); var endpoint = new IPEndPoint(ipAddress, port);
_tcpClient = new TcpClient(ipAddress.AddressFamily); tcpClient = new TcpClient(ipAddress.AddressFamily);
_tcpClient.Connect(endpoint); tcpClient.Connect(endpoint);
} }
else else
_tcpClient = handler(address, port); tcpClient = handler(address, port);
if (_tcpClient.Connected) if (tcpClient.Connected)
{ {
_stream = _tcpClient.GetStream(); stream = tcpClient.GetStream();
} }
} }
public async Task Send(byte[] packet, CancellationToken token = default(CancellationToken)) public async Task Send(byte[] packet, CancellationToken token = default(CancellationToken))
{ {
if (!_tcpClient.Connected) if (!tcpClient.Connected)
throw new InvalidOperationException("Client not connected to server."); throw new InvalidOperationException("Client not connected to server.");
var tcpMessage = new TcpMessage(sendCounter, packet); var tcpMessage = new TcpMessage(sendCounter, packet);
await _stream.WriteAsync(tcpMessage.Encode(), 0, tcpMessage.Encode().Length, token).ConfigureAwait(false); await stream.WriteAsync(tcpMessage.Encode(), 0, tcpMessage.Encode().Length, token).ConfigureAwait(false);
sendCounter++; sendCounter++;
} }
public async Task<TcpMessage> Receive(CancellationToken token = default(CancellationToken)) public async Task<TcpMessage> Receive(CancellationToken token = default(CancellationToken))
{ {
var packetLengthBytes = new byte[4]; var packetLengthBytes = new byte[4];
if (await _stream.ReadAsync(packetLengthBytes, 0, 4, token).ConfigureAwait(false) != 4) if (await stream.ReadAsync(packetLengthBytes, 0, 4, token).ConfigureAwait(false) != 4)
throw new InvalidOperationException("Couldn't read the packet length"); throw new InvalidOperationException("Couldn't read the packet length");
int packetLength = BitConverter.ToInt32(packetLengthBytes, 0); int packetLength = BitConverter.ToInt32(packetLengthBytes, 0);
var seqBytes = new byte[4]; var seqBytes = new byte[4];
if (await _stream.ReadAsync(seqBytes, 0, 4, token).ConfigureAwait(false) != 4) if (await stream.ReadAsync(seqBytes, 0, 4, token).ConfigureAwait(false) != 4)
throw new InvalidOperationException("Couldn't read the sequence"); throw new InvalidOperationException("Couldn't read the sequence");
int seq = BitConverter.ToInt32(seqBytes, 0); int seq = BitConverter.ToInt32(seqBytes, 0);
@ -63,7 +63,7 @@ namespace TLSharp.Core.Network
do do
{ {
var bodyByte = new byte[packetLength - 12]; var bodyByte = new byte[packetLength - 12];
var availableBytes = await _stream.ReadAsync(bodyByte, 0, neededToRead, token).ConfigureAwait(false); var availableBytes = await stream.ReadAsync(bodyByte, 0, neededToRead, token).ConfigureAwait(false);
neededToRead -= availableBytes; neededToRead -= availableBytes;
Buffer.BlockCopy(bodyByte, 0, body, readBytes, availableBytes); Buffer.BlockCopy(bodyByte, 0, body, readBytes, availableBytes);
readBytes += availableBytes; readBytes += availableBytes;
@ -71,7 +71,7 @@ namespace TLSharp.Core.Network
while (readBytes != packetLength - 12); while (readBytes != packetLength - 12);
var crcBytes = new byte[4]; var crcBytes = new byte[4];
if (await _stream.ReadAsync(crcBytes, 0, 4, token).ConfigureAwait(false) != 4) if (await stream.ReadAsync(crcBytes, 0, 4, token).ConfigureAwait(false) != 4)
throw new InvalidOperationException("Couldn't read the crc"); throw new InvalidOperationException("Couldn't read the crc");
int checksum = BitConverter.ToInt32(crcBytes, 0); int checksum = BitConverter.ToInt32(crcBytes, 0);
@ -96,17 +96,17 @@ namespace TLSharp.Core.Network
{ {
get get
{ {
return this._tcpClient.Connected; return this.tcpClient.Connected;
} }
} }
public void Dispose() public void Dispose()
{ {
if (_tcpClient.Connected) if (tcpClient.Connected)
{ {
_stream.Close(); stream.Close();
_tcpClient.Close(); tcpClient.Close();
} }
} }
} }

View file

@ -88,12 +88,12 @@ namespace TLSharp.Core
public TLUser TLUser { get; set; } public TLUser TLUser { get; set; }
private Random random; private Random random;
private ISessionStore _store; private ISessionStore store;
public Session(ISessionStore store) public Session(ISessionStore store)
{ {
random = new Random(); random = new Random();
_store = store; this.store = store;
} }
public byte[] ToBytes() public byte[] ToBytes()
@ -169,7 +169,7 @@ namespace TLSharp.Core
public void Save() public void Save()
{ {
_store.Save(this); store.Save(this);
} }
public static Session TryLoadOrCreateNew(ISessionStore store, string sessionUserId) public static Session TryLoadOrCreateNew(ISessionStore store, string sessionUserId)

View file

@ -24,17 +24,17 @@ namespace TLSharp.Core
{ {
public class TelegramClient : IDisposable public class TelegramClient : IDisposable
{ {
private MtProtoSender _sender; private MtProtoSender sender;
private TcpTransport _transport; private TcpTransport transport;
private string _apiHash = ""; private string apiHash = String.Empty;
private int _apiId = 0; private int apiId = 0;
private Session _session; private Session session;
private List<TLDcOption> dcOptions; private List<TLDcOption> dcOptions;
private TcpClientConnectionHandler _handler; private TcpClientConnectionHandler handler;
public Session Session public Session Session
{ {
get { return _session; } get { return session; }
} }
public TelegramClient(int apiId, string apiHash, public TelegramClient(int apiId, string apiHash,
@ -48,32 +48,32 @@ namespace TLSharp.Core
if (store == null) if (store == null)
store = new FileSessionStore(); store = new FileSessionStore();
_apiHash = apiHash; this.apiHash = apiHash;
_apiId = apiId; this.apiId = apiId;
_handler = handler; this.handler = handler;
_session = Session.TryLoadOrCreateNew(store, sessionUserId); session = Session.TryLoadOrCreateNew(store, sessionUserId);
_transport = new TcpTransport(_session.DataCenter.Address, _session.DataCenter.Port, _handler); transport = new TcpTransport (session.DataCenter.Address, session.DataCenter.Port, this.handler);
} }
public async Task ConnectAsync(bool reconnect = false, CancellationToken token = default(CancellationToken)) public async Task ConnectAsync(bool reconnect = false, CancellationToken token = default(CancellationToken))
{ {
token.ThrowIfCancellationRequested(); token.ThrowIfCancellationRequested();
if (_session.AuthKey == null || reconnect) if (session.AuthKey == null || reconnect)
{ {
var result = await Authenticator.DoAuthentication(_transport, token).ConfigureAwait(false); var result = await Authenticator.DoAuthentication(transport, token).ConfigureAwait(false);
_session.AuthKey = result.AuthKey; session.AuthKey = result.AuthKey;
_session.TimeOffset = result.TimeOffset; session.TimeOffset = result.TimeOffset;
} }
_sender = new MtProtoSender(_transport, _session); sender = new MtProtoSender(transport, session);
//set-up layer //set-up layer
var config = new TLRequestGetConfig(); var config = new TLRequestGetConfig();
var request = new TLRequestInitConnection() var request = new TLRequestInitConnection()
{ {
ApiId = _apiId, ApiId = apiId,
AppVersion = "1.0.0", AppVersion = "1.0.0",
DeviceModel = "PC", DeviceModel = "PC",
LangCode = "en", LangCode = "en",
@ -81,8 +81,8 @@ namespace TLSharp.Core
SystemVersion = "Win 10.0" SystemVersion = "Win 10.0"
}; };
var invokewithLayer = new TLRequestInvokeWithLayer() { Layer = 66, Query = request }; var invokewithLayer = new TLRequestInvokeWithLayer() { Layer = 66, Query = request };
await _sender.Send(invokewithLayer, token).ConfigureAwait(false); await sender.Send(invokewithLayer, token).ConfigureAwait(false);
await _sender.Receive(invokewithLayer, token).ConfigureAwait(false); await sender.Receive(invokewithLayer, token).ConfigureAwait(false);
dcOptions = ((TLConfig)invokewithLayer.Response).DcOptions.ToList(); dcOptions = ((TLConfig)invokewithLayer.Response).DcOptions.ToList();
} }
@ -95,7 +95,7 @@ namespace TLSharp.Core
throw new InvalidOperationException($"Can't reconnect. Establish initial connection first."); throw new InvalidOperationException($"Can't reconnect. Establish initial connection first.");
TLExportedAuthorization exported = null; TLExportedAuthorization exported = null;
if (_session.TLUser != null) if (session.TLUser != null)
{ {
TLRequestExportAuthorization exportAuthorization = new TLRequestExportAuthorization() { DcId = dcId }; TLRequestExportAuthorization exportAuthorization = new TLRequestExportAuthorization() { DcId = dcId };
exported = await SendRequestAsync<TLExportedAuthorization>(exportAuthorization, token).ConfigureAwait(false); exported = await SendRequestAsync<TLExportedAuthorization>(exportAuthorization, token).ConfigureAwait(false);
@ -104,22 +104,22 @@ namespace TLSharp.Core
var dc = dcOptions.First(d => d.Id == dcId); var dc = dcOptions.First(d => d.Id == dcId);
var dataCenter = new DataCenter (dcId, dc.IpAddress, dc.Port); var dataCenter = new DataCenter (dcId, dc.IpAddress, dc.Port);
_transport = new TcpTransport(dc.IpAddress, dc.Port, _handler); transport = new TcpTransport(dc.IpAddress, dc.Port, handler);
_session.DataCenter = dataCenter; session.DataCenter = dataCenter;
await ConnectAsync(true, token).ConfigureAwait(false); await ConnectAsync(true, token).ConfigureAwait(false);
if (_session.TLUser != null) if (session.TLUser != null)
{ {
TLRequestImportAuthorization importAuthorization = new TLRequestImportAuthorization() { Id = exported.Id, Bytes = exported.Bytes }; TLRequestImportAuthorization importAuthorization = new TLRequestImportAuthorization() { Id = exported.Id, Bytes = exported.Bytes };
var imported = await SendRequestAsync<TLAuthorization>(importAuthorization, token).ConfigureAwait(false); var imported = await SendRequestAsync<TLAuthorization>(importAuthorization, token).ConfigureAwait(false);
OnUserAuthenticated(((TLUser)imported.User)); OnUserAuthenticated((TLUser)imported.User);
} }
} }
private async Task RequestWithDcMigration(TLMethod request, CancellationToken token = default(CancellationToken)) private async Task RequestWithDcMigration(TLMethod request, CancellationToken token = default(CancellationToken))
{ {
if (_sender == null) if (sender == null)
throw new InvalidOperationException("Not connected!"); throw new InvalidOperationException("Not connected!");
var completed = false; var completed = false;
@ -127,14 +127,14 @@ namespace TLSharp.Core
{ {
try try
{ {
await _sender.Send(request, token).ConfigureAwait(false); await sender.Send(request, token).ConfigureAwait(false);
await _sender.Receive(request, token).ConfigureAwait(false); await sender.Receive(request, token).ConfigureAwait(false);
completed = true; completed = true;
} }
catch(DataCenterMigrationException e) catch(DataCenterMigrationException e)
{ {
if (_session.DataCenter.DataCenterId.HasValue && if (session.DataCenter.DataCenterId.HasValue &&
_session.DataCenter.DataCenterId.Value == e.DC) session.DataCenter.DataCenterId.Value == e.DC)
{ {
throw new Exception($"Telegram server replied requesting a migration to DataCenter {e.DC} when this connection was already using this DataCenter", e); throw new Exception($"Telegram server replied requesting a migration to DataCenter {e.DC} when this connection was already using this DataCenter", e);
} }
@ -148,7 +148,7 @@ namespace TLSharp.Core
public bool IsUserAuthorized() public bool IsUserAuthorized()
{ {
return _session.TLUser != null; return session.TLUser != null;
} }
public async Task<bool> IsPhoneRegisteredAsync(string phoneNumber, CancellationToken token = default(CancellationToken)) public async Task<bool> IsPhoneRegisteredAsync(string phoneNumber, CancellationToken token = default(CancellationToken))
@ -168,7 +168,7 @@ namespace TLSharp.Core
if (String.IsNullOrWhiteSpace(phoneNumber)) if (String.IsNullOrWhiteSpace(phoneNumber))
throw new ArgumentNullException(nameof(phoneNumber)); throw new ArgumentNullException(nameof(phoneNumber));
var request = new TLRequestSendCode() { PhoneNumber = phoneNumber, ApiId = _apiId, ApiHash = _apiHash }; var request = new TLRequestSendCode() { PhoneNumber = phoneNumber, ApiId = apiId, ApiHash = apiHash };
await RequestWithDcMigration(request, token).ConfigureAwait(false); await RequestWithDcMigration(request, token).ConfigureAwait(false);
@ -201,7 +201,7 @@ namespace TLSharp.Core
await RequestWithDcMigration(request, token).ConfigureAwait(false); await RequestWithDcMigration(request, token).ConfigureAwait(false);
return ((TLPassword)request.Response); return (TLPassword)request.Response;
} }
public async Task<TLUser> MakeAuthWithPasswordAsync(TLPassword password, string password_str, CancellationToken token = default(CancellationToken)) public async Task<TLUser> MakeAuthWithPasswordAsync(TLPassword password, string password_str, CancellationToken token = default(CancellationToken))
@ -218,9 +218,9 @@ namespace TLSharp.Core
await RequestWithDcMigration(request, token).ConfigureAwait(false); await RequestWithDcMigration(request, token).ConfigureAwait(false);
OnUserAuthenticated(((TLUser)request.Response.User)); OnUserAuthenticated((TLUser)request.Response.User);
return ((TLUser)request.Response.User); return (TLUser)request.Response.User;
} }
public async Task<TLUser> SignUpAsync(string phoneNumber, string phoneCodeHash, string code, string firstName, string lastName, CancellationToken token = default(CancellationToken)) public async Task<TLUser> SignUpAsync(string phoneNumber, string phoneCodeHash, string code, string firstName, string lastName, CancellationToken token = default(CancellationToken))
@ -229,9 +229,9 @@ namespace TLSharp.Core
await RequestWithDcMigration(request, token).ConfigureAwait(false); await RequestWithDcMigration(request, token).ConfigureAwait(false);
OnUserAuthenticated(((TLUser)request.Response.User)); OnUserAuthenticated((TLUser)request.Response.User);
return ((TLUser)request.Response.User); return (TLUser)request.Response.User;
} }
public async Task<T> SendRequestAsync<T>(TLMethod methodToExecute, CancellationToken token = default(CancellationToken)) public async Task<T> SendRequestAsync<T>(TLMethod methodToExecute, CancellationToken token = default(CancellationToken))
@ -374,8 +374,7 @@ namespace TLSharp.Core
public async Task<TLFile> GetFile(TLAbsInputFileLocation location, int filePartSize, int offset = 0, CancellationToken token = default(CancellationToken)) public async Task<TLFile> GetFile(TLAbsInputFileLocation location, int filePartSize, int offset = 0, CancellationToken token = default(CancellationToken))
{ {
TLFile result = null; TLFile result = await SendAuthenticatedRequestAsync<TLFile>(new TLRequestGetFile
result = await SendAuthenticatedRequestAsync<TLFile>(new TLRequestGetFile
{ {
Location = location, Location = location,
Limit = filePartSize, Limit = filePartSize,
@ -387,7 +386,7 @@ namespace TLSharp.Core
public async Task SendPingAsync(CancellationToken token = default(CancellationToken)) public async Task SendPingAsync(CancellationToken token = default(CancellationToken))
{ {
await _sender.SendPingAsync(token) await sender.SendPingAsync(token)
.ConfigureAwait(false); .ConfigureAwait(false);
} }
@ -427,28 +426,28 @@ namespace TLSharp.Core
private void OnUserAuthenticated(TLUser TLUser) private void OnUserAuthenticated(TLUser TLUser)
{ {
_session.TLUser = TLUser; session.TLUser = TLUser;
_session.SessionExpires = int.MaxValue; session.SessionExpires = int.MaxValue;
_session.Save(); session.Save();
} }
public bool IsConnected public bool IsConnected
{ {
get get
{ {
if (_transport == null) if (transport == null)
return false; return false;
return _transport.IsConnected; return transport.IsConnected;
} }
} }
public void Dispose() public void Dispose()
{ {
if (_transport != null) if (transport != null)
{ {
_transport.Dispose(); transport.Dispose();
_transport = null; transport = null;
} }
} }
} }

View file

@ -15,7 +15,7 @@ namespace TLSharp.Core.Utils
{ {
private static string GetFileHash(byte[] data) private static string GetFileHash(byte[] data)
{ {
string md5_checksum; string md5CheckSum;
using (var md5 = MD5.Create()) using (var md5 = MD5.Create())
{ {
var hash = md5.ComputeHash(data); var hash = md5.ComputeHash(data);
@ -24,10 +24,10 @@ namespace TLSharp.Core.Utils
foreach (byte t in hash) foreach (byte t in hash)
hashResult.Append(t.ToString("x2")); hashResult.Append(t.ToString("x2"));
md5_checksum = hashResult.ToString(); md5CheckSum = hashResult.ToString();
} }
return md5_checksum; return md5CheckSum;
} }
public static async Task<TLAbsInputFile> UploadFile(this TelegramClient client, string name, StreamReader reader, CancellationToken token = default(CancellationToken)) public static async Task<TLAbsInputFile> UploadFile(this TelegramClient client, string name, StreamReader reader, CancellationToken token = default(CancellationToken))

View file

@ -141,10 +141,10 @@ namespace TLSharp.Tests
} }
catch (CloudPasswordNeededException ex) catch (CloudPasswordNeededException ex)
{ {
var password = await client.GetPasswordSetting(); var passwordSetting = await client.GetPasswordSetting();
var password_str = PasswordToAuthenticate; var password = PasswordToAuthenticate;
user = await client.MakeAuthWithPasswordAsync(password,password_str); user = await client.MakeAuthWithPasswordAsync(passwordSetting, password);
} }
catch (InvalidPhoneCodeException ex) catch (InvalidPhoneCodeException ex)
{ {