예제 #1
0
        public static CacheExpireRequest DeserializeLengthDelimited(Stream stream, CacheExpireRequest instance)
        {
            long num = (long)((ulong)ProtocolParser.ReadUInt32(stream));

            num += stream.Position;
            return(CacheExpireRequest.Deserialize(stream, instance, num));
        }
예제 #2
0
 public static void Serialize(Stream stream, CacheExpireRequest instance)
 {
     if (instance.Account.Count > 0)
     {
         foreach (AccountId accountId in instance.Account)
         {
             stream.WriteByte(10);
             ProtocolParser.WriteUInt32(stream, accountId.GetSerializedSize());
             AccountId.Serialize(stream, accountId);
         }
     }
     if (instance.GameAccount.Count > 0)
     {
         foreach (GameAccountHandle gameAccountHandle in instance.GameAccount)
         {
             stream.WriteByte(18);
             ProtocolParser.WriteUInt32(stream, gameAccountHandle.GetSerializedSize());
             GameAccountHandle.Serialize(stream, gameAccountHandle);
         }
     }
     if (instance.Email.Count > 0)
     {
         foreach (string s in instance.Email)
         {
             stream.WriteByte(26);
             ProtocolParser.WriteBytes(stream, Encoding.UTF8.GetBytes(s));
         }
     }
 }
예제 #3
0
 public static CacheExpireRequest Deserialize(Stream stream, CacheExpireRequest instance, long limit)
 {
     if (instance.Account == null)
     {
         instance.Account = new List <AccountId>();
     }
     if (instance.GameAccount == null)
     {
         instance.GameAccount = new List <GameAccountHandle>();
     }
     if (instance.Email == null)
     {
         instance.Email = new List <string>();
     }
     while (limit < 0L || stream.Position < limit)
     {
         int num = stream.ReadByte();
         if (num == -1)
         {
             if (limit >= 0L)
             {
                 throw new EndOfStreamException();
             }
             return(instance);
         }
         else if (num != 10)
         {
             if (num != 18)
             {
                 if (num != 26)
                 {
                     Key  key   = ProtocolParser.ReadKey((byte)num, stream);
                     uint field = key.Field;
                     if (field == 0u)
                     {
                         throw new ProtocolBufferException("Invalid field id: 0, something went wrong in the stream");
                     }
                     ProtocolParser.SkipKey(stream, key);
                 }
                 else
                 {
                     instance.Email.Add(ProtocolParser.ReadString(stream));
                 }
             }
             else
             {
                 instance.GameAccount.Add(GameAccountHandle.DeserializeLengthDelimited(stream));
             }
         }
         else
         {
             instance.Account.Add(AccountId.DeserializeLengthDelimited(stream));
         }
     }
     if (stream.Position == limit)
     {
         return(instance);
     }
     throw new ProtocolBufferException("Read past max limit");
 }
예제 #4
0
        public static CacheExpireRequest DeserializeLengthDelimited(Stream stream)
        {
            CacheExpireRequest cacheExpireRequest = new CacheExpireRequest();

            CacheExpireRequest.DeserializeLengthDelimited(stream, cacheExpireRequest);
            return(cacheExpireRequest);
        }
예제 #5
0
        public override bool Equals(object obj)
        {
            CacheExpireRequest cacheExpireRequest = obj as CacheExpireRequest;

            if (cacheExpireRequest == null)
            {
                return(false);
            }
            if (this.Account.Count != cacheExpireRequest.Account.Count)
            {
                return(false);
            }
            for (int i = 0; i < this.Account.Count; i++)
            {
                if (!this.Account[i].Equals(cacheExpireRequest.Account[i]))
                {
                    return(false);
                }
            }
            if (this.GameAccount.Count != cacheExpireRequest.GameAccount.Count)
            {
                return(false);
            }
            for (int j = 0; j < this.GameAccount.Count; j++)
            {
                if (!this.GameAccount[j].Equals(cacheExpireRequest.GameAccount[j]))
                {
                    return(false);
                }
            }
            if (this.Email.Count != cacheExpireRequest.Email.Count)
            {
                return(false);
            }
            for (int k = 0; k < this.Email.Count; k++)
            {
                if (!this.Email[k].Equals(cacheExpireRequest.Email[k]))
                {
                    return(false);
                }
            }
            return(true);
        }
예제 #6
0
        public override bool Equals(object obj)
        {
            CacheExpireRequest cacheExpireRequest = obj as CacheExpireRequest;

            if (cacheExpireRequest == null)
            {
                return(false);
            }
            if (this.Account.get_Count() != cacheExpireRequest.Account.get_Count())
            {
                return(false);
            }
            for (int i = 0; i < this.Account.get_Count(); i++)
            {
                if (!this.Account.get_Item(i).Equals(cacheExpireRequest.Account.get_Item(i)))
                {
                    return(false);
                }
            }
            if (this.GameAccount.get_Count() != cacheExpireRequest.GameAccount.get_Count())
            {
                return(false);
            }
            for (int j = 0; j < this.GameAccount.get_Count(); j++)
            {
                if (!this.GameAccount.get_Item(j).Equals(cacheExpireRequest.GameAccount.get_Item(j)))
                {
                    return(false);
                }
            }
            if (this.Email.get_Count() != cacheExpireRequest.Email.get_Count())
            {
                return(false);
            }
            for (int k = 0; k < this.Email.get_Count(); k++)
            {
                if (!this.Email.get_Item(k).Equals(cacheExpireRequest.Email.get_Item(k)))
                {
                    return(false);
                }
            }
            return(true);
        }
예제 #7
0
 public static void Serialize(Stream stream, CacheExpireRequest instance)
 {
     if (instance.Account.get_Count() > 0)
     {
         using (List <AccountId> .Enumerator enumerator = instance.Account.GetEnumerator())
         {
             while (enumerator.MoveNext())
             {
                 AccountId current = enumerator.get_Current();
                 stream.WriteByte(10);
                 ProtocolParser.WriteUInt32(stream, current.GetSerializedSize());
                 AccountId.Serialize(stream, current);
             }
         }
     }
     if (instance.GameAccount.get_Count() > 0)
     {
         using (List <GameAccountHandle> .Enumerator enumerator2 = instance.GameAccount.GetEnumerator())
         {
             while (enumerator2.MoveNext())
             {
                 GameAccountHandle current2 = enumerator2.get_Current();
                 stream.WriteByte(18);
                 ProtocolParser.WriteUInt32(stream, current2.GetSerializedSize());
                 GameAccountHandle.Serialize(stream, current2);
             }
         }
     }
     if (instance.Email.get_Count() > 0)
     {
         using (List <string> .Enumerator enumerator3 = instance.Email.GetEnumerator())
         {
             while (enumerator3.MoveNext())
             {
                 string current3 = enumerator3.get_Current();
                 stream.WriteByte(26);
                 ProtocolParser.WriteBytes(stream, Encoding.get_UTF8().GetBytes(current3));
             }
         }
     }
 }
예제 #8
0
 public void Serialize(Stream stream)
 {
     CacheExpireRequest.Serialize(stream, this);
 }
예제 #9
0
 public static CacheExpireRequest Deserialize(Stream stream, CacheExpireRequest instance)
 {
     return(CacheExpireRequest.Deserialize(stream, instance, -1L));
 }