Пример #1
0
        private void Read(CodedInputStream stream)
        {
            while (!stream.IsAtEnd)
            {
                var tag = stream.ReadTag();
                switch (WireFormat.GetTagFieldNumber(tag))
                {
                case 1:
                    Id = Cid.Read(stream);
                    break;

                case 2:
                    Name = stream.ReadString();
                    break;

                case 3:
                    Size = stream.ReadInt64();
                    break;

                default:
                    throw new InvalidDataException("Unknown field number");
                }
            }
        }
Пример #2
0
        public void WriteTo_PackedInt32()
        {
            uint tag   = WireFormat.MakeTag(10, WireFormat.WireType.LengthDelimited);
            var  field = new RepeatedField <int> {
                10, 1000, 1000000
            };
            var stream = new MemoryStream();
            var output = new CodedOutputStream(stream);

            field.WriteTo(output, FieldCodec.ForInt32(tag));
            output.Flush();
            stream.Position = 0;

            var input = new CodedInputStream(stream);

            input.AssertNextTag(tag);
            var length = input.ReadLength();

            Assert.AreEqual(10, input.ReadInt32());
            Assert.AreEqual(1000, input.ReadInt32());
            Assert.AreEqual(1000000, input.ReadInt32());
            Assert.IsTrue(input.IsAtEnd);
            Assert.AreEqual(1 + CodedOutputStream.ComputeLengthSize(length) + length, stream.Length);
        }
Пример #3
0
            public override SingleBatchItem.Builder MergeFrom(
                ICodedInputStream input,
                ExtensionRegistry extensionRegistry)
            {
                this.PrepareBuilder();
                UnknownFieldSet.Builder unknownFields = (UnknownFieldSet.Builder)null;
                uint   fieldTag;
                string fieldName;

                while (input.ReadTag(out fieldTag, out fieldName))
                {
                    if (fieldTag == 0U && fieldName != null)
                    {
                        int index = Array.BinarySearch <string>(SingleBatchItem._singleBatchItemFieldNames, fieldName, (IComparer <string>)StringComparer.Ordinal);
                        if (index >= 0)
                        {
                            fieldTag = SingleBatchItem._singleBatchItemFieldTags[index];
                        }
                        else
                        {
                            if (unknownFields == null)
                            {
                                unknownFields = UnknownFieldSet.CreateBuilder(this.UnknownFields);
                            }
                            this.ParseUnknownField(input, unknownFields, extensionRegistry, fieldTag, fieldName);
                            continue;
                        }
                    }
                    switch (fieldTag)
                    {
                    case 0:
                        throw InvalidProtocolBufferException.InvalidTag();

                    case 8:
                        this.result.hasSeqId = input.ReadInt32(ref this.result.seqId_);
                        continue;

                    case 18:
                        this.result.hasData = input.ReadString(ref this.result.data_);
                        continue;

                    default:
                        if (WireFormat.IsEndGroupTag(fieldTag))
                        {
                            if (unknownFields != null)
                            {
                                this.UnknownFields = unknownFields.Build();
                            }
                            return(this);
                        }
                        if (unknownFields == null)
                        {
                            unknownFields = UnknownFieldSet.CreateBuilder(this.UnknownFields);
                        }
                        this.ParseUnknownField(input, unknownFields, extensionRegistry, fieldTag, fieldName);
                        continue;
                    }
                }
                if (unknownFields != null)
                {
                    this.UnknownFields = unknownFields.Build();
                }
                return(this);
            }
Пример #4
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="wireFormat"></param>
 /// <param name="memoryPool"></param>
 public SpanByteFunctionsForServer(WireFormat wireFormat = default, MemoryPool <byte> memoryPool = default) : base(true)
 {
     this.wireFormat = wireFormat;
     this.memoryPool = memoryPool ?? MemoryPool <byte> .Shared;
 }
            public override CreateChatRoomResponse.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
            {
                uint   num;
                string str;

                this.PrepareBuilder();
                while (input.ReadTag(out num, out str))
                {
                    if ((num == 0) && (str != null))
                    {
                        int index = Array.BinarySearch <string>(CreateChatRoomResponse._createChatRoomResponseFieldNames, str, StringComparer.Ordinal);
                        if (index >= 0)
                        {
                            num = CreateChatRoomResponse._createChatRoomResponseFieldTags[index];
                        }
                        else
                        {
                            this.ParseUnknownField(input, extensionRegistry, num, str);
                            continue;
                        }
                    }
                    switch (num)
                    {
                    case 0x12:
                    {
                        SKBuiltinString_t.Builder builder2 = SKBuiltinString_t.CreateBuilder();
                        if (this.result.hasTopic)
                        {
                            builder2.MergeFrom(this.Topic);
                        }
                        input.ReadMessage(builder2, extensionRegistry);
                        this.Topic = builder2.BuildPartial();
                        continue;
                    }

                    case 0x1a:
                    {
                        SKBuiltinString_t.Builder builder3 = SKBuiltinString_t.CreateBuilder();
                        if (this.result.hasPYInitial)
                        {
                            builder3.MergeFrom(this.PYInitial);
                        }
                        input.ReadMessage(builder3, extensionRegistry);
                        this.PYInitial = builder3.BuildPartial();
                        continue;
                    }

                    case 0x22:
                    {
                        SKBuiltinString_t.Builder builder4 = SKBuiltinString_t.CreateBuilder();
                        if (this.result.hasQuanPin)
                        {
                            builder4.MergeFrom(this.QuanPin);
                        }
                        input.ReadMessage(builder4, extensionRegistry);
                        this.QuanPin = builder4.BuildPartial();
                        continue;
                    }

                    case 0:
                        throw InvalidProtocolBufferException.InvalidTag();

                    case 10:
                    {
                        micromsg.BaseResponse.Builder builder = micromsg.BaseResponse.CreateBuilder();
                        if (this.result.hasBaseResponse)
                        {
                            builder.MergeFrom(this.BaseResponse);
                        }
                        input.ReadMessage(builder, extensionRegistry);
                        this.BaseResponse = builder.BuildPartial();
                        continue;
                    }

                    case 40:
                    {
                        this.result.hasMemberCount = input.ReadUInt32(ref this.result.memberCount_);
                        continue;
                    }

                    case 50:
                    {
                        input.ReadMessageArray <MemberResp>(num, str, this.result.memberList_, MemberResp.DefaultInstance, extensionRegistry);
                        continue;
                    }

                    case 0x3a:
                    {
                        SKBuiltinString_t.Builder builder5 = SKBuiltinString_t.CreateBuilder();
                        if (this.result.hasChatRoomName)
                        {
                            builder5.MergeFrom(this.ChatRoomName);
                        }
                        input.ReadMessage(builder5, extensionRegistry);
                        this.ChatRoomName = builder5.BuildPartial();
                        continue;
                    }

                    case 0x42:
                    {
                        SKBuiltinBuffer_t.Builder builder6 = SKBuiltinBuffer_t.CreateBuilder();
                        if (this.result.hasImgBuf)
                        {
                            builder6.MergeFrom(this.ImgBuf);
                        }
                        input.ReadMessage(builder6, extensionRegistry);
                        this.ImgBuf = builder6.BuildPartial();
                        continue;
                    }

                    case 0x4a:
                    {
                        this.result.hasBigHeadImgUrl = input.ReadString(ref this.result.bigHeadImgUrl_);
                        continue;
                    }

                    case 0x52:
                        break;

                    default:
                    {
                        if (WireFormat.IsEndGroupTag(num))
                        {
                            return(this);
                        }
                        this.ParseUnknownField(input, extensionRegistry, num, str);
                        continue;
                    }
                    }
                    this.result.hasSmallHeadImgUrl = input.ReadString(ref this.result.smallHeadImgUrl_);
                }
                return(this);
            }
Пример #6
0
            public override objectNetInstance.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
            {
                uint   num;
                string str;

                this.PrepareBuilder();
                UnknownFieldSet.Builder builder = null;
                while (input.ReadTag(ref num, ref str))
                {
                    if ((num == 0) && (str != null))
                    {
                        int index = Array.BinarySearch <string>(objectNetInstance._objectNetInstanceFieldNames, str, StringComparer.Ordinal);
                        if (index >= 0)
                        {
                            num = objectNetInstance._objectNetInstanceFieldTags[index];
                        }
                        else
                        {
                            if (builder == null)
                            {
                                builder = UnknownFieldSet.CreateBuilder(this.get_UnknownFields());
                            }
                            this.ParseUnknownField(input, builder, extensionRegistry, num, str);
                            continue;
                        }
                    }
                    switch (num)
                    {
                    case 0:
                        throw InvalidProtocolBufferException.InvalidTag();

                    case 8:
                    {
                        this.result.hasServerPrefab = input.ReadInt32(ref this.result.serverPrefab_);
                        continue;
                    }

                    case 0x10:
                    {
                        this.result.hasOwnerPrefab = input.ReadInt32(ref this.result.ownerPrefab_);
                        continue;
                    }

                    case 0x18:
                    {
                        this.result.hasProxyPrefab = input.ReadInt32(ref this.result.proxyPrefab_);
                        continue;
                    }

                    case 0x20:
                        break;

                    default:
                    {
                        if (WireFormat.IsEndGroupTag(num))
                        {
                            if (builder != null)
                            {
                                this.set_UnknownFields(builder.Build());
                            }
                            return(this);
                        }
                        if (builder == null)
                        {
                            builder = UnknownFieldSet.CreateBuilder(this.get_UnknownFields());
                        }
                        this.ParseUnknownField(input, builder, extensionRegistry, num, str);
                        continue;
                    }
                    }
                    this.result.hasGroupID = input.ReadInt32(ref this.result.groupID_);
                }
                if (builder != null)
                {
                    this.set_UnknownFields(builder.Build());
                }
                return(this);
            }
Пример #7
0
 /// <summary>
 /// Unregister provider associated with specified wire format
 /// </summary>
 /// <param name="wireFormat"></param>
 /// <param name="provider"></param>
 public void Unregister(WireFormat wireFormat, out ISessionProvider provider)
 => sessionProviders.TryRemove(wireFormat, out provider);
Пример #8
0
            public override objectDeployable.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
            {
                uint   num;
                string str;

                this.PrepareBuilder();
                UnknownFieldSet.Builder builder = null;
                while (input.ReadTag(out num, out str))
                {
                    if (num == 0 && str != null)
                    {
                        int num1 = Array.BinarySearch <string>(objectDeployable._objectDeployableFieldNames, str, StringComparer.Ordinal);
                        if (num1 < 0)
                        {
                            if (builder == null)
                            {
                                builder = UnknownFieldSet.CreateBuilder(this.UnknownFields);
                            }
                            this.ParseUnknownField(input, builder, extensionRegistry, num, str);
                            continue;
                        }
                        else
                        {
                            num = objectDeployable._objectDeployableFieldTags[num1];
                        }
                    }
                    uint num2 = num;
                    if (num2 == 0)
                    {
                        throw InvalidProtocolBufferException.InvalidTag();
                    }
                    if (num2 == 8)
                    {
                        this.result.hasCreatorID = input.ReadUInt64(ref this.result.creatorID_);
                    }
                    else if (num2 == 16)
                    {
                        this.result.hasOwnerID = input.ReadUInt64(ref this.result.ownerID_);
                    }
                    else
                    {
                        if (WireFormat.IsEndGroupTag(num))
                        {
                            if (builder != null)
                            {
                                this.UnknownFields = builder.Build();
                            }
                            return(this);
                        }
                        if (builder == null)
                        {
                            builder = UnknownFieldSet.CreateBuilder(this.UnknownFields);
                        }
                        this.ParseUnknownField(input, builder, extensionRegistry, num, str);
                    }
                }
                if (builder != null)
                {
                    this.UnknownFields = builder.Build();
                }
                return(this);
            }
            // Token: 0x06001276 RID: 4726 RVA: 0x00042670 File Offset: 0x00040870
            public override objectNGCInstance.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
            {
                this.PrepareBuilder();
                UnknownFieldSet.Builder builder = null;
                uint   num;
                string text;

                while (input.ReadTag(ref num, ref text))
                {
                    if (num == 0u && text != null)
                    {
                        int num2 = Array.BinarySearch <string>(objectNGCInstance._objectNGCInstanceFieldNames, text, StringComparer.Ordinal);
                        if (num2 < 0)
                        {
                            if (builder == null)
                            {
                                builder = UnknownFieldSet.CreateBuilder(this.UnknownFields);
                            }
                            this.ParseUnknownField(input, builder, extensionRegistry, num, text);
                            continue;
                        }
                        num = objectNGCInstance._objectNGCInstanceFieldTags[num2];
                    }
                    uint num3 = num;
                    if (num3 == 0u)
                    {
                        throw InvalidProtocolBufferException.InvalidTag();
                    }
                    if (num3 != 8u)
                    {
                        if (num3 != 18u)
                        {
                            if (WireFormat.IsEndGroupTag(num))
                            {
                                if (builder != null)
                                {
                                    this.UnknownFields = builder.Build();
                                }
                                return(this);
                            }
                            if (builder == null)
                            {
                                builder = UnknownFieldSet.CreateBuilder(this.UnknownFields);
                            }
                            this.ParseUnknownField(input, builder, extensionRegistry, num, text);
                        }
                        else
                        {
                            this.result.hasData = input.ReadBytes(ref this.result.data_);
                        }
                    }
                    else
                    {
                        this.result.hasID = input.ReadInt32(ref this.result.iD_);
                    }
                }
                if (builder != null)
                {
                    this.UnknownFields = builder.Build();
                }
                return(this);
            }
Пример #10
0
            // Token: 0x060012EC RID: 4844 RVA: 0x000434D4 File Offset: 0x000416D4
            public override objectSleepingAvatar.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
            {
                this.PrepareBuilder();
                UnknownFieldSet.Builder builder = null;
                uint   num;
                string text;

                while (input.ReadTag(ref num, ref text))
                {
                    if (num == 0u && text != null)
                    {
                        int num2 = Array.BinarySearch <string>(objectSleepingAvatar._objectSleepingAvatarFieldNames, text, StringComparer.Ordinal);
                        if (num2 < 0)
                        {
                            if (builder == null)
                            {
                                builder = UnknownFieldSet.CreateBuilder(this.UnknownFields);
                            }
                            this.ParseUnknownField(input, builder, extensionRegistry, num, text);
                            continue;
                        }
                        num = objectSleepingAvatar._objectSleepingAvatarFieldTags[num2];
                    }
                    uint num3 = num;
                    if (num3 == 0u)
                    {
                        throw InvalidProtocolBufferException.InvalidTag();
                    }
                    if (num3 != 8u)
                    {
                        if (num3 != 16u)
                        {
                            if (num3 != 24u)
                            {
                                if (num3 != 32u)
                                {
                                    if (num3 != 40u)
                                    {
                                        if (num3 != 50u)
                                        {
                                            if (WireFormat.IsEndGroupTag(num))
                                            {
                                                if (builder != null)
                                                {
                                                    this.UnknownFields = builder.Build();
                                                }
                                                return(this);
                                            }
                                            if (builder == null)
                                            {
                                                builder = UnknownFieldSet.CreateBuilder(this.UnknownFields);
                                            }
                                            this.ParseUnknownField(input, builder, extensionRegistry, num, text);
                                        }
                                        else
                                        {
                                            Vitals.Builder builder2 = Vitals.CreateBuilder();
                                            if (this.result.hasVitals)
                                            {
                                                builder2.MergeFrom(this.Vitals);
                                            }
                                            input.ReadMessage(builder2, extensionRegistry);
                                            this.Vitals = builder2.BuildPartial();
                                        }
                                    }
                                    else
                                    {
                                        this.result.hasTimestamp = input.ReadInt32(ref this.result.timestamp_);
                                    }
                                }
                                else
                                {
                                    this.result.hasHeadArmor = input.ReadInt32(ref this.result.headArmor_);
                                }
                            }
                            else
                            {
                                this.result.hasTorsoArmor = input.ReadInt32(ref this.result.torsoArmor_);
                            }
                        }
                        else
                        {
                            this.result.hasLegArmor = input.ReadInt32(ref this.result.legArmor_);
                        }
                    }
                    else
                    {
                        this.result.hasFootArmor = input.ReadInt32(ref this.result.footArmor_);
                    }
                }
                if (builder != null)
                {
                    this.UnknownFields = builder.Build();
                }
                return(this);
            }
Пример #11
0
            public override SendAuthResp.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
            {
                this.PrepareBuilder();
                uint   num;
                string text;

                while (input.ReadTag(out num, out text))
                {
                    if (num == 0u && text != null)
                    {
                        int num2 = Array.BinarySearch <string>(SendAuthResp._sendAuthRespFieldNames, text, StringComparer.Ordinal);
                        if (num2 < 0)
                        {
                            this.ParseUnknownField(input, extensionRegistry, num, text);
                            continue;
                        }
                        num = SendAuthResp._sendAuthRespFieldTags[num2];
                    }
                    uint num3 = num;
                    if (num3 <= 10u)
                    {
                        if (num3 == 0u)
                        {
                            throw InvalidProtocolBufferException.InvalidTag();
                        }
                        if (num3 == 10u)
                        {
                            BaseRespP.Builder builder = BaseRespP.CreateBuilder();
                            if (this.result.hasBase)
                            {
                                builder.MergeFrom(this.Base);
                            }
                            input.ReadMessage(builder, extensionRegistry);
                            this.Base = builder.BuildPartial();
                            continue;
                        }
                    }
                    else
                    {
                        if (num3 == 18u)
                        {
                            this.result.hasCode = input.ReadString(ref this.result.code_);
                            continue;
                        }
                        if (num3 == 26u)
                        {
                            this.result.hasState = input.ReadString(ref this.result.state_);
                            continue;
                        }
                        if (num3 == 34u)
                        {
                            this.result.hasUrl = input.ReadString(ref this.result.url_);
                            continue;
                        }
                    }
                    if (WireFormat.IsEndGroupTag(num))
                    {
                        return(this);
                    }
                    this.ParseUnknownField(input, extensionRegistry, num, text);
                }
                return(this);
            }
Пример #12
0
            public override RustProto.Error.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
            {
                uint   num;
                string str;

                this.PrepareBuilder();
                UnknownFieldSet.Builder builder = null;
                while (input.ReadTag(out num, out str))
                {
                    if (num == 0 && str != null)
                    {
                        int num1 = Array.BinarySearch <string>(RustProto.Error._errorFieldNames, str, StringComparer.Ordinal);
                        if (num1 < 0)
                        {
                            if (builder == null)
                            {
                                builder = UnknownFieldSet.CreateBuilder(this.UnknownFields);
                            }
                            this.ParseUnknownField(input, builder, extensionRegistry, num, str);
                            continue;
                        }
                        else
                        {
                            num = RustProto.Error._errorFieldTags[num1];
                        }
                    }
                    uint num2 = num;
                    if (num2 == 0)
                    {
                        throw InvalidProtocolBufferException.InvalidTag();
                    }
                    if (num2 == 10)
                    {
                        this.result.hasStatus = input.ReadString(ref this.result.status_);
                    }
                    else if (num2 == 18)
                    {
                        this.result.hasMessage = input.ReadString(ref this.result.message_);
                    }
                    else
                    {
                        if (WireFormat.IsEndGroupTag(num))
                        {
                            if (builder != null)
                            {
                                this.UnknownFields = builder.Build();
                            }
                            return(this);
                        }
                        if (builder == null)
                        {
                            builder = UnknownFieldSet.CreateBuilder(this.UnknownFields);
                        }
                        this.ParseUnknownField(input, builder, extensionRegistry, num, str);
                    }
                }
                if (builder != null)
                {
                    this.UnknownFields = builder.Build();
                }
                return(this);
            }
Пример #13
0
 /// <summary>
 /// Decode the input using a particular wire format and update this DelegationSet.
 /// </summary>
 ///
 /// <param name="input">The input blob to decode.</param>
 /// <param name="wireFormat">A WireFormat object used to decode the input.</param>
 /// <exception cref="EncodingException">For invalid encoding.</exception>
 public void wireDecode(Blob input, WireFormat wireFormat)
 {
     wireFormat.decodeDelegationSet(this, input.buf(), false);
 }
Пример #14
0
 /// <summary>
 /// Decode the input using a particular wire format and update this
 /// DelegationSet, using addUnsorted() to preserve the given order and
 /// possible duplicates.
 /// </summary>
 ///
 /// <param name="input"></param>
 /// <param name="wireFormat">A WireFormat object used to decode the input.</param>
 /// <exception cref="EncodingException">For invalid encoding.</exception>
 public void wireDecode(ByteBuffer input, WireFormat wireFormat)
 {
     wireFormat.decodeDelegationSet(this, input, true);
 }
Пример #15
0
 /// <summary>
 /// Encode this DelegationSet for a particular wire format.
 /// </summary>
 ///
 /// <param name="wireFormat">A WireFormat object used to encode this DelegationSet.</param>
 /// <returns>The encoded buffer.</returns>
 public Blob wireEncode(WireFormat wireFormat)
 {
     return(wireFormat.encodeDelegationSet(this));
 }
Пример #16
0
			public long expressInterest(Interest interest, OnData onData,
					OnTimeout onTimeout, OnNetworkNack onNetworkNack,
					WireFormat wireFormat) throws IOException {
Пример #17
0
 // Token: 0x060009D0 RID: 2512 RVA: 0x0001762C File Offset: 0x0001582C
 public override Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
 {
     PrepareBuilder();
     UnknownFieldSet.Builder builder = null;
     while (input.ReadTag(out uint num, out string text))
     {
         if (num == 0U && text != null)
         {
             int num2 = Array.BinarySearch(_transparentFieldNames, text, StringComparer.Ordinal);
             if (num2 < 0)
             {
                 if (builder == null)
                 {
                     builder = UnknownFieldSet.CreateBuilder(UnknownFields);
                 }
                 ParseUnknownField(input, builder, extensionRegistry, num, text);
                 continue;
             }
             num = _transparentFieldTags[num2];
         }
         if (num <= 42U)
         {
             if (num <= 18U)
             {
                 if (num == 0U)
                 {
                     throw InvalidProtocolBufferException.InvalidTag();
                 }
                 if (num == 10U)
                 {
                     result.HasId = input.ReadString(ref result.id_);
                     continue;
                 }
                 if (num == 18U)
                 {
                     result.HasAction = input.ReadString(ref result.action_);
                     continue;
                 }
             }
             else
             {
                 if (num == 26U)
                 {
                     result.HasTaskId = input.ReadString(ref result.taskId_);
                     continue;
                 }
                 if (num == 34U)
                 {
                     result.HasAppKey = input.ReadString(ref result.appKey_);
                     continue;
                 }
                 if (num == 42U)
                 {
                     result.HasAppId = input.ReadString(ref result.appId_);
                     continue;
                 }
             }
         }
         else if (num <= 66U)
         {
             if (num == 50U)
             {
                 result.HasMessageId = input.ReadString(ref result.messageId_);
                 continue;
             }
             if (num == 58U)
             {
                 PushInfo.Builder builder2 = PushInfo.CreateBuilder();
                 if (result.HasPushInfo)
                 {
                     builder2.MergeFrom(PushInfo);
                 }
                 input.ReadMessage(builder2, extensionRegistry);
                 PushInfo = builder2.BuildPartial();
                 continue;
             }
             if (num == 66U)
             {
                 input.ReadMessageArray(num, text, result.actionChain_, ActionChain.DefaultInstance, extensionRegistry);
                 continue;
             }
         }
         else if (num <= 80U)
         {
             if (num == 74U)
             {
                 input.ReadStringArray(num, text, result.condition_);
                 continue;
             }
             if (num == 80U)
             {
                 result.HasTemplateId = input.ReadInt32(ref result.templateId_);
                 continue;
             }
         }
         else
         {
             if (num == 90U)
             {
                 result.HasTaskGroupId = input.ReadString(ref result.taskGroupId_);
                 continue;
             }
             if (num == 98U)
             {
                 SmsInfo.Builder builder3 = SmsInfo.CreateBuilder();
                 if (result.HasSmsInfo)
                 {
                     builder3.MergeFrom(SmsInfo);
                 }
                 input.ReadMessage(builder3, extensionRegistry);
                 SmsInfo = builder3.BuildPartial();
                 continue;
             }
         }
         if (WireFormat.IsEndGroupTag(num))
         {
             if (builder != null)
             {
                 UnknownFields = builder.Build();
             }
             return(this);
         }
         if (builder == null)
         {
             builder = UnknownFieldSet.CreateBuilder(UnknownFields);
         }
         ParseUnknownField(input, builder, extensionRegistry, num, text);
     }
     if (builder != null)
     {
         UnknownFields = builder.Build();
     }
     return(this);
 }
Пример #18
0
            public override PushListMessage.Builder MergeFrom(
                ICodedInputStream input,
                ExtensionRegistry extensionRegistry)
            {
                this.PrepareBuilder();
                UnknownFieldSet.Builder unknownFields = (UnknownFieldSet.Builder)null;
                uint   fieldTag;
                string fieldName;

                while (input.ReadTag(out fieldTag, out fieldName))
                {
                    if (fieldTag == 0U && fieldName != null)
                    {
                        int index = Array.BinarySearch <string>(PushListMessage._pushListMessageFieldNames, fieldName, (IComparer <string>)StringComparer.Ordinal);
                        if (index >= 0)
                        {
                            fieldTag = PushListMessage._pushListMessageFieldTags[index];
                        }
                        else
                        {
                            if (unknownFields == null)
                            {
                                unknownFields = UnknownFieldSet.CreateBuilder(this.UnknownFields);
                            }
                            this.ParseUnknownField(input, unknownFields, extensionRegistry, fieldTag, fieldName);
                            continue;
                        }
                    }
                    switch (fieldTag)
                    {
                    case 0:
                        throw InvalidProtocolBufferException.InvalidTag();

                    case 10:
                        this.result.hasSeqId = input.ReadString(ref this.result.seqId_);
                        continue;

                    case 18:
                        this.result.hasTaskId = input.ReadString(ref this.result.taskId_);
                        continue;

                    case 26:
                        input.ReadMessageArray <Target>(fieldTag, fieldName, (ICollection <Target>) this.result.targets_, Target.DefaultInstance, extensionRegistry);
                        continue;

                    default:
                        if (WireFormat.IsEndGroupTag(fieldTag))
                        {
                            if (unknownFields != null)
                            {
                                this.UnknownFields = unknownFields.Build();
                            }
                            return(this);
                        }
                        if (unknownFields == null)
                        {
                            unknownFields = UnknownFieldSet.CreateBuilder(this.UnknownFields);
                        }
                        this.ParseUnknownField(input, unknownFields, extensionRegistry, fieldTag, fieldName);
                        continue;
                    }
                }
                if (unknownFields != null)
                {
                    this.UnknownFields = unknownFields.Build();
                }
                return(this);
            }
Пример #19
0
            public override Vector.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
            {
                uint   num;
                string str;

                this.PrepareBuilder();
                UnknownFieldSet.Builder builder = null;
                while (input.ReadTag(ref num, ref str))
                {
                    if ((num == 0) && (str != null))
                    {
                        int index = Array.BinarySearch <string>(Vector._vectorFieldNames, str, StringComparer.Ordinal);
                        if (index >= 0)
                        {
                            num = Vector._vectorFieldTags[index];
                        }
                        else
                        {
                            if (builder == null)
                            {
                                builder = UnknownFieldSet.CreateBuilder(this.get_UnknownFields());
                            }
                            this.ParseUnknownField(input, builder, extensionRegistry, num, str);
                            continue;
                        }
                    }
                    switch (num)
                    {
                    case 0:
                        throw InvalidProtocolBufferException.InvalidTag();

                    case 13:
                    {
                        this.result.hasX = input.ReadFloat(ref this.result.x_);
                        continue;
                    }

                    case 0x15:
                    {
                        this.result.hasY = input.ReadFloat(ref this.result.y_);
                        continue;
                    }

                    case 0x1d:
                        break;

                    default:
                    {
                        if (WireFormat.IsEndGroupTag(num))
                        {
                            if (builder != null)
                            {
                                this.set_UnknownFields(builder.Build());
                            }
                            return(this);
                        }
                        if (builder == null)
                        {
                            builder = UnknownFieldSet.CreateBuilder(this.get_UnknownFields());
                        }
                        this.ParseUnknownField(input, builder, extensionRegistry, num, str);
                        continue;
                    }
                    }
                    this.result.hasZ = input.ReadFloat(ref this.result.z_);
                }
                if (builder != null)
                {
                    this.set_UnknownFields(builder.Build());
                }
                return(this);
            }
Пример #20
0
            public override SnsAction.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
            {
                uint   num;
                string str;

                this.PrepareBuilder();
                while (input.ReadTag(out num, out str))
                {
                    if ((num == 0) && (str != null))
                    {
                        int index = Array.BinarySearch <string>(SnsAction._snsActionFieldNames, str, StringComparer.Ordinal);
                        if (index >= 0)
                        {
                            num = SnsAction._snsActionFieldTags[index];
                        }
                        else
                        {
                            this.ParseUnknownField(input, extensionRegistry, num, str);
                            continue;
                        }
                    }
                    switch (num)
                    {
                    case 0x12:
                    {
                        this.result.hasToUsername = input.ReadString(ref this.result.toUsername_);
                        continue;
                    }

                    case 0x1a:
                    {
                        this.result.hasFromNickname = input.ReadString(ref this.result.fromNickname_);
                        continue;
                    }

                    case 0x22:
                    {
                        this.result.hasToNickname = input.ReadString(ref this.result.toNickname_);
                        continue;
                    }

                    case 0:
                        throw InvalidProtocolBufferException.InvalidTag();

                    case 10:
                    {
                        this.result.hasFromUsername = input.ReadString(ref this.result.fromUsername_);
                        continue;
                    }

                    case 40:
                    {
                        this.result.hasType = input.ReadUInt32(ref this.result.type_);
                        continue;
                    }

                    case 0x30:
                    {
                        this.result.hasSource = input.ReadUInt32(ref this.result.source_);
                        continue;
                    }

                    case 0x38:
                    {
                        this.result.hasCreateTime = input.ReadUInt32(ref this.result.createTime_);
                        continue;
                    }

                    case 0x42:
                    {
                        this.result.hasContent = input.ReadString(ref this.result.content_);
                        continue;
                    }

                    case 0x48:
                    {
                        this.result.hasReplyCommentId = input.ReadInt32(ref this.result.replyCommentId_);
                        continue;
                    }

                    case 80:
                        break;

                    default:
                    {
                        if (WireFormat.IsEndGroupTag(num))
                        {
                            return(this);
                        }
                        this.ParseUnknownField(input, extensionRegistry, num, str);
                        continue;
                    }
                    }
                    this.result.hasCommentId = input.ReadInt32(ref this.result.commentId_);
                }
                return(this);
            }
Пример #21
0
            public override GetA8KeyResp.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
            {
                uint   num;
                string str;

                this.PrepareBuilder();
                while (input.ReadTag(out num, out str))
                {
                    if ((num == 0) && (str != null))
                    {
                        int index = Array.BinarySearch <string>(GetA8KeyResp._getA8KeyRespFieldNames, str, StringComparer.Ordinal);
                        if (index >= 0)
                        {
                            num = GetA8KeyResp._getA8KeyRespFieldTags[index];
                        }
                        else
                        {
                            this.ParseUnknownField(input, extensionRegistry, num, str);
                            continue;
                        }
                    }
                    switch (num)
                    {
                    case 0x12:
                    {
                        this.result.hasFullURL = input.ReadString(ref this.result.fullURL_);
                        continue;
                    }

                    case 0x1a:
                    {
                        this.result.hasA8Key = input.ReadString(ref this.result.a8Key_);
                        continue;
                    }

                    case 0:
                        throw InvalidProtocolBufferException.InvalidTag();

                    case 10:
                    {
                        micromsg.BaseResponse.Builder builder = micromsg.BaseResponse.CreateBuilder();
                        if (this.result.hasBaseResponse)
                        {
                            builder.MergeFrom(this.BaseResponse);
                        }
                        input.ReadMessage(builder, extensionRegistry);
                        this.BaseResponse = builder.BuildPartial();
                        continue;
                    }

                    case 0x20:
                    {
                        this.result.hasActionCode = input.ReadUInt32(ref this.result.actionCode_);
                        continue;
                    }

                    case 0x2a:
                    {
                        this.result.hasTitle = input.ReadString(ref this.result.title_);
                        continue;
                    }

                    case 50:
                    {
                        this.result.hasContent = input.ReadString(ref this.result.content_);
                        continue;
                    }

                    case 0x3a:
                    {
                        JSAPIPermissionBitSet.Builder builder2 = JSAPIPermissionBitSet.CreateBuilder();
                        if (this.result.hasJSAPIPermission)
                        {
                            builder2.MergeFrom(this.JSAPIPermission);
                        }
                        input.ReadMessage(builder2, extensionRegistry);
                        this.JSAPIPermission = builder2.BuildPartial();
                        continue;
                    }

                    case 0x42:
                    {
                        micromsg.GeneralControlBitSet.Builder builder3 = micromsg.GeneralControlBitSet.CreateBuilder();
                        if (this.result.hasGeneralControlBitSet)
                        {
                            builder3.MergeFrom(this.GeneralControlBitSet);
                        }
                        input.ReadMessage(builder3, extensionRegistry);
                        this.GeneralControlBitSet = builder3.BuildPartial();
                        continue;
                    }
                    }
                    if (WireFormat.IsEndGroupTag(num))
                    {
                        return(this);
                    }
                    this.ParseUnknownField(input, extensionRegistry, num, str);
                }
                return(this);
            }
 public FieldMappingAttribute(MappedType mappedType, WireFormat.WireType wireType)
 {
     MappedType = mappedType;
     WireType = wireType;
 }
Пример #23
0
            public override HongBaoReq.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
            {
                uint   num;
                string str;

                this.PrepareBuilder();
                while (input.ReadTag(out num, out str))
                {
                    if ((num == 0) && (str != null))
                    {
                        int index = Array.BinarySearch <string>(HongBaoReq._hongBaoReqFieldNames, str, StringComparer.Ordinal);
                        if (index >= 0)
                        {
                            num = HongBaoReq._hongBaoReqFieldTags[index];
                        }
                        else
                        {
                            this.ParseUnknownField(input, extensionRegistry, num, str);
                            continue;
                        }
                    }
                    switch (num)
                    {
                    case 0:
                        throw InvalidProtocolBufferException.InvalidTag();

                    case 10:
                    {
                        BaseRequest.Builder builder = BaseRequest.CreateBuilder();
                        if (this.result.hasBaseRequest)
                        {
                            builder.MergeFrom(this.BaseRequest);
                        }
                        input.ReadMessage(builder, extensionRegistry);
                        this.BaseRequest = builder.BuildPartial();
                        continue;
                    }

                    case 0x10:
                    {
                        this.result.hasCgiCmd = input.ReadUInt32(ref this.result.cgiCmd_);
                        continue;
                    }

                    case 0x18:
                    {
                        this.result.hasOutPutType = input.ReadUInt32(ref this.result.outPutType_);
                        continue;
                    }

                    case 0x22:
                    {
                        SKBuiltinBuffer_t.Builder builder2 = SKBuiltinBuffer_t.CreateBuilder();
                        if (this.result.hasReqText)
                        {
                            builder2.MergeFrom(this.ReqText);
                        }
                        input.ReadMessage(builder2, extensionRegistry);
                        this.ReqText = builder2.BuildPartial();
                        continue;
                    }
                    }
                    if (WireFormat.IsEndGroupTag(num))
                    {
                        return(this);
                    }
                    this.ParseUnknownField(input, extensionRegistry, num, str);
                }
                return(this);
            }
Пример #24
0
            public override SafeDevice.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
            {
                uint   num;
                string str;

                this.PrepareBuilder();
                while (input.ReadTag(out num, out str))
                {
                    if ((num == 0) && (str != null))
                    {
                        int index = Array.BinarySearch <string>(SafeDevice._safeDeviceFieldNames, str, StringComparer.Ordinal);
                        if (index >= 0)
                        {
                            num = SafeDevice._safeDeviceFieldTags[index];
                        }
                        else
                        {
                            this.ParseUnknownField(input, extensionRegistry, num, str);
                            continue;
                        }
                    }
                    switch (num)
                    {
                    case 0:
                        throw InvalidProtocolBufferException.InvalidTag();

                    case 10:
                    {
                        this.result.hasName = input.ReadString(ref this.result.name_);
                        continue;
                    }

                    case 0x12:
                    {
                        this.result.hasUuid = input.ReadString(ref this.result.uuid_);
                        continue;
                    }

                    case 0x1a:
                    {
                        this.result.hasDeviceType = input.ReadString(ref this.result.deviceType_);
                        continue;
                    }

                    case 0x20:
                        break;

                    default:
                    {
                        if (WireFormat.IsEndGroupTag(num))
                        {
                            return(this);
                        }
                        this.ParseUnknownField(input, extensionRegistry, num, str);
                        continue;
                    }
                    }
                    this.result.hasCreateTime = input.ReadUInt32(ref this.result.createTime_);
                }
                return(this);
            }
Пример #25
0
        static void Main(string[] args)
        {
            // Serialize and parse it.  Make sure to parse from an InputStream, not
            // directly from a ByteString, so that CodedInputStream uses buffered
            // reading.
            AddressBook l1 = new AddressBook();

            l1.People.Add(new Person()
            {
                Id = 1, Name = "ABC", Email = "*****@*****.**"
            });

            uint tagLengthDelimited = WireFormat.MakeTag(AddressBook.PeopleFieldNumber, WireFormat.WireType.LengthDelimited);


            //// Hand-craft the stream to contain a single entry with just a value.
            //using (var memoryStream = new MemoryStream())
            //using (var output = new CodedOutputStream(memoryStream))
            //{
            //    output.WriteTag(AddressBook.PeopleFieldNumber, WireFormat.WireType.LengthDelimited);

            //    // Size of the entry (tag, size written by WriteMessage, data written by WriteMessage)
            //    output.WriteLength(2 + l1.CalculateSize());
            //    output.WriteTag(2, WireFormat.WireType.LengthDelimited);
            //    output.WriteMessage(l1);
            //    output.Flush();

            //    byte[] bf = memoryStream.ToArray();
            //    var parsed = AddressBook.Parser.ParseFrom(bf);
            //}



            var clone = l1.Clone();

            byte[] bytes  = l1.ToByteArray();
            string json1  = l1.ToString();
            string json2  = JsonFormatter.Default.Format(l1);
            var    writer = new StringWriter();

            JsonFormatter.Default.Format(l1, writer);
            string json3 = writer.ToString();


            var empty = Empty.Parser.ParseFrom(bytes);

            // this works - json below
            JsonFormatter jsf        = new JsonFormatter(new JsonFormatter.Settings(true));
            string        jsonString = jsf.Format(l1);
            // this throws error - see exception details below
            var lsJson  = JsonParser.Default.Parse <AddressBook>(jsonString);
            var lsJson2 = JsonParser.Default.Parse(jsonString, AddressBook.Descriptor);

            // MessageDescriptor ->

            //string jsonMessageDescriptor = JsonConvert.SerializeObject(AddressBook.Descriptor);


            byte[] buf = null;
            using (var ms = new MemoryStream())
                using (var output = new CodedOutputStream(ms))
                {
                    //////uint tag = WireFormat.MakeTag(1, WireFormat.WireType.LengthDelimited);
                    //////output.WriteRawVarint32(tag);
                    //////output.WriteRawVarint32(0x7FFFFFFF);
                    //////output.WriteRawBytes(new byte[32]); // Pad with a few random bytes.
                    //////output.Flush();
                    //////ms.Position = 0;

                    ////output.WriteTag(1, WireFormat.WireType.Varint);
                    //output.WriteInt32(99);
                    ////output.WriteTag(2, WireFormat.WireType.Varint);
                    //output.WriteInt32(123);

                    //output.WriteFixed32(0);
                    //output.WriteFixed32(34567);
                    //output.WriteRawVarint32(0);
                    //output.WriteRawVarint32(34567);
                    //output.WriteLength(7);

                    output.WriteRawVarint32(99);
                    output.WriteFixed32(34567);

                    l1.WriteTo(output);

                    output.Flush();

                    buf = ms.ToArray();
                }

            byte        type = 0;
            uint        tag  = 0;
            AddressBook l2   = null;
            string      log;

            if (buf != null && buf.Length > 0)
            {
                //using (var input = new CodedInputStream(buf))
                //{
                //    //tag = input.ReadInt32();
                //    tag = input.ReadFixed32();
                //    try
                //    {
                //        l2 = AddressBook.Parser.ParseFrom(input);
                //    }
                //    catch (Exception ex)
                //    {
                //        log = ex.Message;
                //    }
                //}

                type = buf[0];
                tag  = BitConverter.ToUInt32(buf, 1);

                using (CodedInputStream input = new CodedInputStream(buf, 5, buf.Length - 5))
                {
                    try
                    {
                        l2 = AddressBook.Parser.ParseFrom(input);
                    }
                    catch (Exception ex)
                    {
                        log = ex.Message;
                    }
                }
            }



            ////////////////////////////////////////////////

            Console.WriteLine("Enter to exit ...");
            Console.ReadLine();
        }
Пример #26
0
        private void GenerateBuilderParsingMethods(TextGenerator writer)
        {
            List <FieldDescriptor> sortedFields = new List <FieldDescriptor>(Descriptor.Fields);

            sortedFields.Sort((f1, f2) => f1.FieldNumber.CompareTo(f2.FieldNumber));

            writer.WriteLine("public override Builder MergeFrom(pb::CodedInputStream input) {");
            writer.WriteLine("  return MergeFrom(input, pb::ExtensionRegistry.Empty);");
            writer.WriteLine("}");
            writer.WriteLine();
            writer.WriteLine("public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {");
            writer.Indent();
            if (!UseLiteRuntime)
            {
                writer.WriteLine("pb::UnknownFieldSet.Builder unknownFields = null;");
            }
            writer.WriteLine("while (true) {");
            writer.Indent();
            writer.WriteLine("uint tag = input.ReadTag();");
            writer.WriteLine("switch (tag) {");
            writer.Indent();
            writer.WriteLine("case 0: {"); // 0 signals EOF / limit reached
            if (!UseLiteRuntime)
            {
                writer.WriteLine("  if (unknownFields != null) {");
                writer.WriteLine("    this.UnknownFields = unknownFields.Build();");
                writer.WriteLine("  }");
            }
            writer.WriteLine("  return this;");
            writer.WriteLine("}");
            writer.WriteLine("default: {");
            writer.WriteLine("  if (pb::WireFormat.IsEndGroupTag(tag)) {");
            if (!UseLiteRuntime)
            {
                writer.WriteLine("    if (unknownFields != null) {");
                writer.WriteLine("      this.UnknownFields = unknownFields.Build();");
                writer.WriteLine("    }");
            }
            writer.WriteLine("    return this;"); // it's an endgroup tag
            writer.WriteLine("  }");
            if (!UseLiteRuntime)
            {
                writer.WriteLine("  if (unknownFields == null) {"); // First unknown field - create builder now
                writer.WriteLine("    unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);");
                writer.WriteLine("  }");
            }
            writer.WriteLine("  ParseUnknownField(input, {0}extensionRegistry, tag);", UseLiteRuntime ? "" : "unknownFields, ");
            writer.WriteLine("  break;");
            writer.WriteLine("}");
            foreach (FieldDescriptor field in sortedFields)
            {
                uint tag = WireFormat.MakeTag(field);
                writer.WriteLine("case {0}: {{", tag);
                writer.Indent();
                SourceGenerators.CreateFieldGenerator(field).GenerateParsingCode(writer);
                writer.WriteLine("break;");
                writer.Outdent();
                writer.WriteLine("}");
            }
            writer.Outdent();
            writer.WriteLine("}");
            writer.Outdent();
            writer.WriteLine("}");
            writer.Outdent();
            writer.WriteLine("}");
            writer.WriteLine();
        }
Пример #27
0
            public override WXMessageP.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
            {
                uint   num;
                string str;

                this.PrepareBuilder();
                while (input.ReadTag(out num, out str))
                {
                    if ((num == 0) && (str != null))
                    {
                        int index = Array.BinarySearch <string>(WXMessageP._wXMessagePFieldNames, str, StringComparer.Ordinal);
                        if (index >= 0)
                        {
                            num = WXMessageP._wXMessagePFieldTags[index];
                        }
                        else
                        {
                            this.ParseUnknownField(input, extensionRegistry, num, str);
                            continue;
                        }
                    }
                    switch (num)
                    {
                    case 0x1a:
                    {
                        this.result.hasDescription = input.ReadString(ref this.result.description_);
                        continue;
                    }

                    case 0x22:
                    {
                        this.result.hasThumbData = input.ReadBytes(ref this.result.thumbData_);
                        continue;
                    }

                    case 0x2a:
                    {
                        WXEmojiMessageP.Builder builder = WXEmojiMessageP.CreateBuilder();
                        if (this.result.hasEmojiMessage)
                        {
                            builder.MergeFrom(this.EmojiMessage);
                        }
                        input.ReadMessage(builder, extensionRegistry);
                        this.EmojiMessage = builder.BuildPartial();
                        continue;
                    }

                    case 0:
                        throw InvalidProtocolBufferException.InvalidTag();

                    case 8:
                    {
                        this.result.hasType = input.ReadUInt32(ref this.result.type_);
                        continue;
                    }

                    case 0x12:
                    {
                        this.result.hasTitle = input.ReadString(ref this.result.title_);
                        continue;
                    }

                    case 50:
                    {
                        WXFileMessageP.Builder builder2 = WXFileMessageP.CreateBuilder();
                        if (this.result.hasFileMessage)
                        {
                            builder2.MergeFrom(this.FileMessage);
                        }
                        input.ReadMessage(builder2, extensionRegistry);
                        this.FileMessage = builder2.BuildPartial();
                        continue;
                    }

                    case 0x3a:
                    {
                        WXImageMessageP.Builder builder3 = WXImageMessageP.CreateBuilder();
                        if (this.result.hasImageMessage)
                        {
                            builder3.MergeFrom(this.ImageMessage);
                        }
                        input.ReadMessage(builder3, extensionRegistry);
                        this.ImageMessage = builder3.BuildPartial();
                        continue;
                    }

                    case 0x42:
                    {
                        WXMusicMessageP.Builder builder4 = WXMusicMessageP.CreateBuilder();
                        if (this.result.hasMusicMessage)
                        {
                            builder4.MergeFrom(this.MusicMessage);
                        }
                        input.ReadMessage(builder4, extensionRegistry);
                        this.MusicMessage = builder4.BuildPartial();
                        continue;
                    }

                    case 0x4a:
                    {
                        WXTextMessageP.Builder builder5 = WXTextMessageP.CreateBuilder();
                        if (this.result.hasTextMessage)
                        {
                            builder5.MergeFrom(this.TextMessage);
                        }
                        input.ReadMessage(builder5, extensionRegistry);
                        this.TextMessage = builder5.BuildPartial();
                        continue;
                    }

                    case 0x52:
                    {
                        WXVideoMessageP.Builder builder6 = WXVideoMessageP.CreateBuilder();
                        if (this.result.hasVideoMessage)
                        {
                            builder6.MergeFrom(this.VideoMessage);
                        }
                        input.ReadMessage(builder6, extensionRegistry);
                        this.VideoMessage = builder6.BuildPartial();
                        continue;
                    }

                    case 90:
                    {
                        WXWebpageMessageP.Builder builder7 = WXWebpageMessageP.CreateBuilder();
                        if (this.result.hasWebpageMessage)
                        {
                            builder7.MergeFrom(this.WebpageMessage);
                        }
                        input.ReadMessage(builder7, extensionRegistry);
                        this.WebpageMessage = builder7.BuildPartial();
                        continue;
                    }

                    case 0x62:
                    {
                        WXAppExtendMessageP.Builder builder8 = WXAppExtendMessageP.CreateBuilder();
                        if (this.result.hasAppExtendMessage)
                        {
                            builder8.MergeFrom(this.AppExtendMessage);
                        }
                        input.ReadMessage(builder8, extensionRegistry);
                        this.AppExtendMessage = builder8.BuildPartial();
                        continue;
                    }
                    }
                    if (WireFormat.IsEndGroupTag(num))
                    {
                        return(this);
                    }
                    this.ParseUnknownField(input, extensionRegistry, num, str);
                }
                return(this);
            }
Пример #28
0
            public override GetMsgImgRequest.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
            {
                uint   num;
                string str;

                this.PrepareBuilder();
                while (input.ReadTag(out num, out str))
                {
                    if ((num == 0) && (str != null))
                    {
                        int index = Array.BinarySearch <string>(GetMsgImgRequest._getMsgImgRequestFieldNames, str, StringComparer.Ordinal);
                        if (index >= 0)
                        {
                            num = GetMsgImgRequest._getMsgImgRequestFieldTags[index];
                        }
                        else
                        {
                            this.ParseUnknownField(input, extensionRegistry, num, str);
                            continue;
                        }
                    }
                    switch (num)
                    {
                    case 0x10:
                    {
                        this.result.hasMsgId = input.ReadUInt32(ref this.result.msgId_);
                        continue;
                    }

                    case 0x1a:
                    {
                        SKBuiltinString_t.Builder builder2 = SKBuiltinString_t.CreateBuilder();
                        if (this.result.hasFromUserName)
                        {
                            builder2.MergeFrom(this.FromUserName);
                        }
                        input.ReadMessage(builder2, extensionRegistry);
                        this.FromUserName = builder2.BuildPartial();
                        continue;
                    }

                    case 0:
                        throw InvalidProtocolBufferException.InvalidTag();

                    case 10:
                    {
                        micromsg.BaseRequest.Builder builder = micromsg.BaseRequest.CreateBuilder();
                        if (this.result.hasBaseRequest)
                        {
                            builder.MergeFrom(this.BaseRequest);
                        }
                        input.ReadMessage(builder, extensionRegistry);
                        this.BaseRequest = builder.BuildPartial();
                        continue;
                    }

                    case 0x22:
                    {
                        SKBuiltinString_t.Builder builder3 = SKBuiltinString_t.CreateBuilder();
                        if (this.result.hasToUserName)
                        {
                            builder3.MergeFrom(this.ToUserName);
                        }
                        input.ReadMessage(builder3, extensionRegistry);
                        this.ToUserName = builder3.BuildPartial();
                        continue;
                    }

                    case 40:
                    {
                        this.result.hasTotalLen = input.ReadUInt32(ref this.result.totalLen_);
                        continue;
                    }

                    case 0x30:
                    {
                        this.result.hasStartPos = input.ReadUInt32(ref this.result.startPos_);
                        continue;
                    }

                    case 0x38:
                    {
                        this.result.hasDataLen = input.ReadUInt32(ref this.result.dataLen_);
                        continue;
                    }

                    case 0x40:
                        break;

                    default:
                    {
                        if (WireFormat.IsEndGroupTag(num))
                        {
                            return(this);
                        }
                        this.ParseUnknownField(input, extensionRegistry, num, str);
                        continue;
                    }
                    }
                    this.result.hasCompressType = input.ReadUInt32(ref this.result.compressType_);
                }
                return(this);
            }
Пример #29
0
            public override Item.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
            {
                uint   num;
                string str;

                this.PrepareBuilder();
                UnknownFieldSet.Builder builder = null;
                while (input.ReadTag(ref num, ref str))
                {
                    if ((num == 0) && (str != null))
                    {
                        int index = Array.BinarySearch <string>(Item._itemFieldNames, str, StringComparer.Ordinal);
                        if (index >= 0)
                        {
                            num = Item._itemFieldTags[index];
                        }
                        else
                        {
                            if (builder == null)
                            {
                                builder = UnknownFieldSet.CreateBuilder(this.get_UnknownFields());
                            }
                            this.ParseUnknownField(input, builder, extensionRegistry, num, str);
                            continue;
                        }
                    }
                    switch (num)
                    {
                    case 0:
                        throw InvalidProtocolBufferException.InvalidTag();

                    case 8:
                    {
                        this.result.hasId = input.ReadInt32(ref this.result.id_);
                        continue;
                    }

                    case 0x12:
                    {
                        this.result.hasName = input.ReadString(ref this.result.name_);
                        continue;
                    }

                    case 0x18:
                    {
                        this.result.hasSlot = input.ReadInt32(ref this.result.slot_);
                        continue;
                    }

                    case 0x20:
                    {
                        this.result.hasCount = input.ReadInt32(ref this.result.count_);
                        continue;
                    }

                    case 0x2a:
                    {
                        input.ReadMessageArray <Item>(num, str, this.result.subitem_, Item.DefaultInstance, extensionRegistry);
                        continue;
                    }

                    case 0x30:
                    {
                        this.result.hasSubslots = input.ReadInt32(ref this.result.subslots_);
                        continue;
                    }

                    case 0x3d:
                    {
                        this.result.hasCondition = input.ReadFloat(ref this.result.condition_);
                        continue;
                    }

                    case 0x45:
                        break;

                    default:
                    {
                        if (WireFormat.IsEndGroupTag(num))
                        {
                            if (builder != null)
                            {
                                this.set_UnknownFields(builder.Build());
                            }
                            return(this);
                        }
                        if (builder == null)
                        {
                            builder = UnknownFieldSet.CreateBuilder(this.get_UnknownFields());
                        }
                        this.ParseUnknownField(input, builder, extensionRegistry, num, str);
                        continue;
                    }
                    }
                    this.result.hasMaxcondition = input.ReadFloat(ref this.result.maxcondition_);
                }
                if (builder != null)
                {
                    this.set_UnknownFields(builder.Build());
                }
                return(this);
            }
Пример #30
0
            public override BaseRespP.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
            {
                uint   num;
                string str;

                this.PrepareBuilder();
                while (input.ReadTag(out num, out str))
                {
                    if ((num == 0) && (str != null))
                    {
                        int index = Array.BinarySearch <string>(BaseRespP._baseRespPFieldNames, str, StringComparer.Ordinal);
                        if (index >= 0)
                        {
                            num = BaseRespP._baseRespPFieldTags[index];
                        }
                        else
                        {
                            this.ParseUnknownField(input, extensionRegistry, num, str);
                            continue;
                        }
                    }
                    switch (num)
                    {
                    case 0:
                        throw InvalidProtocolBufferException.InvalidTag();

                    case 8:
                    {
                        this.result.hasType = input.ReadUInt32(ref this.result.type_);
                        continue;
                    }

                    case 0x12:
                    {
                        this.result.hasTransaction = input.ReadString(ref this.result.transaction_);
                        continue;
                    }

                    case 0x18:
                    {
                        this.result.hasErrCode = input.ReadUInt32(ref this.result.errCode_);
                        continue;
                    }

                    case 0x22:
                        break;

                    default:
                    {
                        if (WireFormat.IsEndGroupTag(num))
                        {
                            return(this);
                        }
                        this.ParseUnknownField(input, extensionRegistry, num, str);
                        continue;
                    }
                    }
                    this.result.hasErrStr = input.ReadString(ref this.result.errStr_);
                }
                return(this);
            }
Пример #31
0
            public override SnsActionGroup.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
            {
                uint   num;
                string str;

                this.PrepareBuilder();
                while (input.ReadTag(out num, out str))
                {
                    if ((num == 0) && (str != null))
                    {
                        int index = Array.BinarySearch <string>(SnsActionGroup._snsActionGroupFieldNames, str, StringComparer.Ordinal);
                        if (index >= 0)
                        {
                            num = SnsActionGroup._snsActionGroupFieldTags[index];
                        }
                        else
                        {
                            this.ParseUnknownField(input, extensionRegistry, num, str);
                            continue;
                        }
                    }
                    switch (num)
                    {
                    case 0:
                        throw InvalidProtocolBufferException.InvalidTag();

                    case 8:
                    {
                        this.result.hasId = input.ReadUInt64(ref this.result.id_);
                        continue;
                    }

                    case 0x10:
                    {
                        this.result.hasParentId = input.ReadUInt64(ref this.result.parentId_);
                        continue;
                    }

                    case 0x1a:
                    {
                        SnsAction.Builder builder = SnsAction.CreateBuilder();
                        if (this.result.hasCurrentAction)
                        {
                            builder.MergeFrom(this.CurrentAction);
                        }
                        input.ReadMessage(builder, extensionRegistry);
                        this.CurrentAction = builder.BuildPartial();
                        continue;
                    }

                    case 0x22:
                    {
                        SnsAction.Builder builder2 = SnsAction.CreateBuilder();
                        if (this.result.hasReferAction)
                        {
                            builder2.MergeFrom(this.ReferAction);
                        }
                        input.ReadMessage(builder2, extensionRegistry);
                        this.ReferAction = builder2.BuildPartial();
                        continue;
                    }
                    }
                    if (WireFormat.IsEndGroupTag(num))
                    {
                        return(this);
                    }
                    this.ParseUnknownField(input, extensionRegistry, num, str);
                }
                return(this);
            }
Пример #32
0
            public override ServerNotify.Builder MergeFrom(
                ICodedInputStream input,
                ExtensionRegistry extensionRegistry)
            {
                this.PrepareBuilder();
                UnknownFieldSet.Builder unknownFields = (UnknownFieldSet.Builder)null;
                uint   fieldTag;
                string fieldName;

                while (input.ReadTag(out fieldTag, out fieldName))
                {
                    if (fieldTag == 0U && fieldName != null)
                    {
                        int index = Array.BinarySearch <string>(ServerNotify._serverNotifyFieldNames, fieldName, (IComparer <string>)StringComparer.Ordinal);
                        if (index >= 0)
                        {
                            fieldTag = ServerNotify._serverNotifyFieldTags[index];
                        }
                        else
                        {
                            if (unknownFields == null)
                            {
                                unknownFields = UnknownFieldSet.CreateBuilder(this.UnknownFields);
                            }
                            this.ParseUnknownField(input, unknownFields, extensionRegistry, fieldTag, fieldName);
                            continue;
                        }
                    }
                    switch (fieldTag)
                    {
                    case 0:
                        throw InvalidProtocolBufferException.InvalidTag();

                    case 8:
                        object unknown;
                        if (input.ReadEnum <ServerNotify.Types.NotifyType>(ref this.result.type_, out unknown))
                        {
                            this.result.hasType = true;
                            continue;
                        }
                        if (unknown is int)
                        {
                            if (unknownFields == null)
                            {
                                unknownFields = UnknownFieldSet.CreateBuilder(this.UnknownFields);
                            }
                            unknownFields.MergeVarintField(1, (ulong)(int)unknown);
                            continue;
                        }
                        continue;

                    case 18:
                        this.result.hasInfo = input.ReadString(ref this.result.info_);
                        continue;

                    case 26:
                        this.result.hasExtradata = input.ReadBytes(ref this.result.extradata_);
                        continue;

                    case 34:
                        this.result.hasSeqId = input.ReadString(ref this.result.seqId_);
                        continue;

                    default:
                        if (WireFormat.IsEndGroupTag(fieldTag))
                        {
                            if (unknownFields != null)
                            {
                                this.UnknownFields = unknownFields.Build();
                            }
                            return(this);
                        }
                        if (unknownFields == null)
                        {
                            unknownFields = UnknownFieldSet.CreateBuilder(this.UnknownFields);
                        }
                        this.ParseUnknownField(input, unknownFields, extensionRegistry, fieldTag, fieldName);
                        continue;
                    }
                }
                if (unknownFields != null)
                {
                    this.UnknownFields = unknownFields.Build();
                }
                return(this);
            }