Example #1
0
        private static Header ReadHeader(ref ReadableBuffer buffer, ref HeaderTable headerTable, int header, int prefixBytes, HeaderOptions options)
        {
            var    index = ReadUInt32(ref buffer, header, prefixBytes);
            string name, value;
            bool   compressed;

            if (index == 0)
            {
                name     = ReadString(ref buffer, out compressed);
                options |= compressed ? HeaderOptions.NameCompressionOn : HeaderOptions.NameCompressionOff;
            }
            else
            {
                name = headerTable.GetHeaderName(index);
            }
            value    = ReadString(ref buffer, out compressed);
            options |= compressed ? HeaderOptions.ValueCompressionOn : HeaderOptions.ValueCompressionOff;
            return(new Header(name, value, options));
        }