Exemplo n.º 1
0
 public override Builder MergeFrom(CodedInputStream input, ExtensionRegistry extensionRegistry)
 {
     UnknownFieldSet.Builder unknownFieldsBuilder = UnknownFieldSet.CreateBuilder(unknownFields);
     unknownFieldsBuilder.MergeFrom(input, extensionRegistry, this);
     unknownFields = unknownFieldsBuilder.Build();
     return(this);
 }
Exemplo n.º 2
0
        public void SkipWholeMessage()
        {
            TestAllTypes message = TestUtil.GetAllSet();

            byte[] rawBytes = message.ToByteArray();

            // Create two parallel inputs.  Parse one as unknown fields while using
            // skipField() to skip each field on the other.  Expect the same tags.
            CodedInputStream input1 = CodedInputStream.CreateInstance(rawBytes);
            CodedInputStream input2 = CodedInputStream.CreateInstance(rawBytes);

            UnknownFieldSet.Builder unknownFields = UnknownFieldSet.CreateBuilder();

            uint   tag;
            string name;

            while (input1.ReadTag(out tag, out name))
            {
                uint tag2;
                Assert.IsTrue(input2.ReadTag(out tag2, out name));
                Assert.AreEqual(tag, tag2);

                unknownFields.MergeFieldFrom(tag, input1);
                input2.SkipField();
            }
        }
Exemplo n.º 3
0
 public virtual TBuilder MergeFrom(CodedInputStream input, ExtensionRegistry extensionRegistry)
 {
     UnknownFieldSet.Builder unknownFields = UnknownFieldSet.CreateBuilder(UnknownFields);
     unknownFields.MergeFrom(input, extensionRegistry, this);
     UnknownFields = unknownFields.Build();
     return(ThisBuilder);
 }
Exemplo n.º 4
0
 /// <summary>
 /// Reads a group field value from the stream and merges it into the given
 /// UnknownFieldSet.
 /// </summary>
 public void ReadUnknownGroup(int fieldNumber, UnknownFieldSet.Builder builder)
 {
     if (recursionDepth >= recursionLimit)
     {
         throw InvalidProtocolBufferException.RecursionLimitExceeded();
     }
     ++recursionDepth;
     builder.MergeFrom(this);
     CheckLastTagWas(WireFormat.MakeTag(fieldNumber, WireFormat.WireType.EndGroup));
     --recursionDepth;
 }
        /// <summary>
        /// Constructs a protocol buffer which contains fields with all the same
        /// numbers as allFieldsData except that each field is some other wire
        /// type.
        /// </summary>
        private ByteString GetBizarroData()
        {
            UnknownFieldSet.Builder bizarroFields = UnknownFieldSet.CreateBuilder();

            UnknownField varintField  = UnknownField.CreateBuilder().AddVarint(1).Build();
            UnknownField fixed32Field = UnknownField.CreateBuilder().AddFixed32(1).Build();

            foreach (KeyValuePair <int, UnknownField> entry in unknownFields.FieldDictionary)
            {
                if (entry.Value.VarintList.Count == 0)
                {
                    // Original field is not a varint, so use a varint.
                    bizarroFields.AddField(entry.Key, varintField);
                }
                else
                {
                    // Original field *is* a varint, so use something else.
                    bizarroFields.AddField(entry.Key, fixed32Field);
                }
            }

            return(bizarroFields.Build().ToByteString());
        }
 protected override bool ParseUnknownField(ICodedInputStream input, UnknownFieldSet.Builder unknownFields,
                                           ExtensionRegistry extensionRegistry, uint tag, string fieldName)
 {
     return(unknownFields.MergeFieldFrom(input, extensionRegistry, this, tag, fieldName));
 }
Exemplo n.º 7
0
 protected virtual bool ParseUnknownField(ICodedInputStream input, UnknownFieldSet.Builder unknownFields,
                                          ExtensionRegistry extensionRegistry, uint tag, string fieldName)
 {
     return(unknownFields.MergeFieldFrom(tag, input));
 }