Esempio n. 1
0
        internal int GetLength(DnsDomainNameCompressionData compressionData, int offsetInDns)
        {
            int num = 0;

            for (int startIndex = 0; startIndex != this.LabelsCount; ++startIndex)
            {
                ListSegment <DataSegment> labels = new ListSegment <DataSegment>((IList <DataSegment>) this._labels, startIndex);
                if (compressionData.IsAvailable(labels))
                {
                    return(num + 2);
                }
                compressionData.AddCompressionData(labels, offsetInDns + num);
                num += 1 + labels[0].Length;
            }
            return(num + 1);
        }
Esempio n. 2
0
        internal int GetLength(DnsDomainNameCompressionData compressionData, int offsetInDns)
        {
            int length = 0;

            for (int i = 0; i != LabelsCount; ++i)
            {
                ListSegment <DataSegment> labels = new ListSegment <DataSegment>(_labels, i);
                if (compressionData.IsAvailable(labels))
                {
                    return(length + sizeof(ushort));
                }
                compressionData.AddCompressionData(labels, offsetInDns + length);
                length += sizeof(byte) + labels[0].Length;
            }
            return(length + sizeof(byte));
        }