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); }
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)); }