Exemplo n.º 1
0
        private void SetMinMessageId(byte[] bytes)
        {
            try
            {
                //var position = 0;
                //var encryptedMessage = (TLEncryptedTransportMessage)new TLEncryptedTransportMessage().FromBytes(bytes, ref position);
                //encryptedMessage.Decrypt(AuthKey);

                var encryptedMessage = new TLEncryptedTransportMessage();
                using (var reader = new TLBinaryReader(bytes))
                {
                    encryptedMessage.Read(reader, AuthKey);
                }

                //position = 0;
                //TLTransportMessage transportMessage;
                //transportMessage = TLObject.GetObject<TLTransportMessage>(encryptedMessage.Query, ref position);
                var transportMessage = encryptedMessage.Query;

                MinMessageId = transportMessage.MsgId;
                System.Diagnostics.Debug.WriteLine("TCPTransport set min message_id={0} seq_no={1}", transportMessage.MsgId, transportMessage.SeqNo);
            }
            catch (Exception ex)
            {
                Execute.ShowDebugMessage("SetMessageId exception " + ex);
            }
        }
        private static TLEncryptedTransportMessage CreateTLEncryptedMessage(byte[] authKey, TLContainerTransportMessage containerTransportMessage)
        {
            var message = new TLEncryptedTransportMessage {
                Data = containerTransportMessage.ToBytes()
            };

            return(message.Encrypt(authKey));
        }