internal override DnsResourceData CreateInstance(DataSegment data) { if (data.Length < ConstantPartLength) return null; DataSegment areaAddress = data.Subsegment(Offset.AreaAddress, MinAreaAddressLength + data.Length - ConstantPartLength); int afterAreaOffset = areaAddress.Length; UInt48 systemIdentifier = data.ReadUInt48(afterAreaOffset + OffsetAfterArea.SystemIdentifier, Endianity.Big); byte selector = data[afterAreaOffset + OffsetAfterArea.Selector]; return new DnsResourceDataNetworkServiceAccessPoint(areaAddress, systemIdentifier, selector); }
internal override DnsResourceData CreateInstance(DataSegment data) { if (data.Length < 8) { return((DnsResourceData)null); } DataSegment areaAddress = data.Subsegment(0, 1 + data.Length - 8); int length = areaAddress.Length; UInt48 systemIdentifier = data.ReadUInt48(length, Endianity.Big); byte selector = data[length + 6]; return((DnsResourceData) new DnsResourceDataNetworkServiceAccessPoint(areaAddress, systemIdentifier, selector)); }