public async Task <byte[]> Receive(TLSchema.TLMethod request) { while (!request.ConfirmReceived) { var result = DecodeMessage((await _transport.Receieve()).Body); using (var messageStream = new MemoryStream(result.Item1, false)) using (var messageReader = new BinaryReader(messageStream)) { processMessage(result.Item2, result.Item3, messageReader, request); } } return(null); }
public async Task <byte[]> Receive() { 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(); byte[] response = binaryReader.ReadBytes(messageLength); return(response); } } }