/// <summary>
        /// Reads a group field value from the stream.
        /// </summary>

        /*ZWL
         * public void ReadGroup(int fieldNumber, IBuilderLite builder,
         *                    ExtensionRegistry extensionRegistry) {
         * if (recursionDepth >= recursionLimit) {
         *  throw InvalidProtocolBufferException.RecursionLimitExceeded();
         * }
         ++recursionDepth;
         * builder.WeakMergeFrom(this, extensionRegistry);
         * CheckLastTagWas(WireFormat.MakeTag(fieldNumber, WireFormat.WireType.EndGroup));
         * --recursionDepth;
         * }
         *
         * /// <summary>
         * /// Reads a group field value from the stream and merges it into the given
         * /// UnknownFieldSet.
         * /// </summary>
         * [Obsolete]
         * public void ReadUnknownGroup(int fieldNumber, IBuilderLite builder)
         * {
         * if (recursionDepth >= recursionLimit) {
         *  throw InvalidProtocolBufferException.RecursionLimitExceeded();
         * }
         ++recursionDepth;
         * builder.WeakMergeFrom(this);
         * CheckLastTagWas(WireFormat.MakeTag(fieldNumber, WireFormat.WireType.EndGroup));
         * --recursionDepth;
         * }
         * ZWL */
        /// <summary>
        /// Reads an embedded message field value from the stream.
        /// </summary>
        public void ReadMessage(PacketDistributed builder)
        {
            int length = (int)ReadRawVarint32();

            if (recursionDepth >= recursionLimit)
            {
                throw InvalidProtocolBufferException.RecursionLimitExceeded();
            }
            int oldLimit = PushLimit(length);

            ++recursionDepth;
            builder.MergeFrom(this, builder);
            CheckLastTagWas(0);
            --recursionDepth;
            PopLimit(oldLimit);
        }
Пример #2
0
        /// <summary>
        /// Reads a group field value from the stream.
        /// </summary>    
        /*ZWL
          public void ReadGroup(int fieldNumber, IBuilderLite builder,
                          ExtensionRegistry extensionRegistry) {
          if (recursionDepth >= recursionLimit) {
        throw InvalidProtocolBufferException.RecursionLimitExceeded();
          }
          ++recursionDepth;
          builder.WeakMergeFrom(this, extensionRegistry);
          CheckLastTagWas(WireFormat.MakeTag(fieldNumber, WireFormat.WireType.EndGroup));
          --recursionDepth;
        }

        /// <summary>
        /// Reads a group field value from the stream and merges it into the given
        /// UnknownFieldSet.
        /// </summary>
        [Obsolete]
        public void ReadUnknownGroup(int fieldNumber, IBuilderLite builder)
        {
          if (recursionDepth >= recursionLimit) {
        throw InvalidProtocolBufferException.RecursionLimitExceeded();
          }
          ++recursionDepth;
          builder.WeakMergeFrom(this);
          CheckLastTagWas(WireFormat.MakeTag(fieldNumber, WireFormat.WireType.EndGroup));
          --recursionDepth;
        }
          ZWL */
        /// <summary>
        /// Reads an embedded message field value from the stream.
        /// </summary>   
        public void ReadMessage(PacketDistributed builder)
        {
            int length = (int) ReadRawVarint32();
              if (recursionDepth >= recursionLimit) {
            throw InvalidProtocolBufferException.RecursionLimitExceeded();
              }
              int oldLimit = PushLimit(length);
              ++recursionDepth;
              builder.MergeFrom(this);
              CheckLastTagWas(0);
              --recursionDepth;
              PopLimit(oldLimit);
        }