Ejemplo n.º 1
0
        public void write(BinaryWriter writer)
        {
            writer.Write(endpoints.Count);
            foreach (var telegramEndpoint in endpoints)
            {
                telegramEndpoint.write(writer);
            }

            if (authKey == null)
            {
                writer.Write(0);
            }
            else
            {
                writer.Write(1);
                Serializers.Bytes.write(writer, authKey.Data);
            }

            //if(fileSession == null) {
            //    writer.Write(0);
            //} else {
            //    writer.Write(1);
            //    fileSession.Write(writer);
            //}

            if (fileAuthorization == null)
            {
                writer.Write(0);
            }
            else
            {
                writer.Write(1);
                fileAuthorization.Write(writer);
            }
        }
Ejemplo n.º 2
0
        public void write(BinaryWriter writer)
        {
            logger.info("saving session...");
            writer.Write(id);
            writer.Write(sequence);
            writer.Write(mainDcId);
            writer.Write(timeOffset);
            writer.Write(gateway != null ? gateway.Salt : (ulong)0);
            writer.Write(dcs.Count);

            // contacts sync marker
            Serializers.String.write(writer, ContactsStateMarker);

            foreach (var dc in dcs)
            {
                writer.Write(dc.Key);
                dc.Value.write(writer);
            }

            if (authorization == null)
            {
                writer.Write(0);
            }
            else
            {
                writer.Write(1);
                authorization.Write(writer);
            }

            writer.Write(users.Count);
            foreach (var userModel in users)
            {
                writer.Write(userModel.Key);
                userModel.Value.RawUser.Write(writer);
            }

            writer.Write(chats.Count);
            foreach (var chatModel in chats)
            {
                writer.Write(chatModel.Key);
                chatModel.Value.RawChat.Write(writer);
            }

            updates.Write(writer);
            dialogs.Write(writer);
            // files
            encryptedChats.Write(writer);

            logger.info("saving session complete");
        }