mirror of
https://github.com/sochix/TLSharp.git
synced 2026-04-05 14:37:04 +00:00
formatting code (ctrl + k + d)
This commit is contained in:
parent
d330f9614b
commit
504b63a6d7
38 changed files with 16805 additions and 16280 deletions
|
|
@ -4,74 +4,74 @@ using System.Threading.Tasks;
|
|||
|
||||
namespace TLSharp.Core.Network
|
||||
{
|
||||
public class MtProtoPlainSender
|
||||
{
|
||||
private int sequence = 0;
|
||||
private int timeOffset;
|
||||
private long lastMessageId;
|
||||
private Random random;
|
||||
private TcpTransport _transport;
|
||||
public class MtProtoPlainSender
|
||||
{
|
||||
private int sequence = 0;
|
||||
private int timeOffset;
|
||||
private long lastMessageId;
|
||||
private Random random;
|
||||
private TcpTransport _transport;
|
||||
|
||||
public MtProtoPlainSender(TcpTransport transport)
|
||||
{
|
||||
_transport = transport;
|
||||
random = new Random();
|
||||
}
|
||||
public MtProtoPlainSender(TcpTransport transport)
|
||||
{
|
||||
_transport = transport;
|
||||
random = new Random();
|
||||
}
|
||||
|
||||
public async Task Send(byte[] data)
|
||||
{
|
||||
using (var memoryStream = new MemoryStream())
|
||||
{
|
||||
using (var binaryWriter = new BinaryWriter(memoryStream))
|
||||
{
|
||||
binaryWriter.Write((long)0);
|
||||
binaryWriter.Write(GetNewMessageId());
|
||||
binaryWriter.Write(data.Length);
|
||||
binaryWriter.Write(data);
|
||||
public async Task Send(byte[] data)
|
||||
{
|
||||
using (var memoryStream = new MemoryStream())
|
||||
{
|
||||
using (var binaryWriter = new BinaryWriter(memoryStream))
|
||||
{
|
||||
binaryWriter.Write((long)0);
|
||||
binaryWriter.Write(GetNewMessageId());
|
||||
binaryWriter.Write(data.Length);
|
||||
binaryWriter.Write(data);
|
||||
|
||||
byte[] packet = memoryStream.ToArray();
|
||||
byte[] packet = memoryStream.ToArray();
|
||||
|
||||
await _transport.Send(packet);
|
||||
}
|
||||
}
|
||||
}
|
||||
await _transport.Send(packet);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<byte[]> Recieve()
|
||||
{
|
||||
var result = await _transport.Receieve();
|
||||
public async Task<byte[]> Recieve()
|
||||
{
|
||||
var result = await _transport.Receieve();
|
||||
|
||||
using (var memoryStream = new MemoryStream(result.Body))
|
||||
{
|
||||
using (BinaryReader binaryReader = new BinaryReader(memoryStream))
|
||||
{
|
||||
long authKeyid = binaryReader.ReadInt64();
|
||||
long messageId = binaryReader.ReadInt64();
|
||||
int messageLength = binaryReader.ReadInt32();
|
||||
using (var memoryStream = new MemoryStream(result.Body))
|
||||
{
|
||||
using (BinaryReader binaryReader = new BinaryReader(memoryStream))
|
||||
{
|
||||
long authKeyid = binaryReader.ReadInt64();
|
||||
long messageId = binaryReader.ReadInt64();
|
||||
int messageLength = binaryReader.ReadInt32();
|
||||
|
||||
byte[] response = binaryReader.ReadBytes(messageLength);
|
||||
byte[] response = binaryReader.ReadBytes(messageLength);
|
||||
|
||||
return response;
|
||||
}
|
||||
}
|
||||
}
|
||||
return response;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private long GetNewMessageId()
|
||||
{
|
||||
long time = Convert.ToInt64((DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalMilliseconds);
|
||||
long newMessageId = ((time / 1000 + timeOffset) << 32) |
|
||||
((time % 1000) << 22) |
|
||||
(random.Next(524288) << 2); // 2^19
|
||||
// [ unix timestamp : 32 bit] [ milliseconds : 10 bit ] [ buffer space : 1 bit ] [ random : 19 bit ] [ msg_id type : 2 bit ] = [ msg_id : 64 bit ]
|
||||
private long GetNewMessageId()
|
||||
{
|
||||
long time = Convert.ToInt64((DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalMilliseconds);
|
||||
long newMessageId = ((time / 1000 + timeOffset) << 32) |
|
||||
((time % 1000) << 22) |
|
||||
(random.Next(524288) << 2); // 2^19
|
||||
// [ unix timestamp : 32 bit] [ milliseconds : 10 bit ] [ buffer space : 1 bit ] [ random : 19 bit ] [ msg_id type : 2 bit ] = [ msg_id : 64 bit ]
|
||||
|
||||
if (lastMessageId >= newMessageId)
|
||||
{
|
||||
newMessageId = lastMessageId + 4;
|
||||
}
|
||||
if (lastMessageId >= newMessageId)
|
||||
{
|
||||
newMessageId = lastMessageId + 4;
|
||||
}
|
||||
|
||||
lastMessageId = newMessageId;
|
||||
return newMessageId;
|
||||
}
|
||||
lastMessageId = newMessageId;
|
||||
return newMessageId;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue