public static Header FromArray(byte[] header) { if (header.Length < SIZE) { throw new ArgumentException("Header length too small"); } return(StructHelper.GetStruct <Header>(header, 0, SIZE)); }
public static Question FromArray(byte[] message, int offset, out int endOffset) { Domain domain = Domain.FromArray(message, offset, out offset); Tail tail = StructHelper.GetStruct <Tail>(message, offset, Tail.SIZE); endOffset = offset + Tail.SIZE; return(new Question(domain, tail.Type, tail.Class)); }
public StartOfAuthorityResourceRecord(IResourceRecord record, byte[] message, int dataOffset) : base(record) { MasterDomainName = Domain.FromArray(message, dataOffset, out dataOffset); ResponsibleDomainName = Domain.FromArray(message, dataOffset, out dataOffset); Options tail = StructHelper.GetStruct <Options>(message, dataOffset, Options.SIZE); SerialNumber = tail.SerialNumber; RefreshInterval = tail.RefreshInterval; RetryInterval = tail.RetryInterval; ExpireInterval = tail.ExpireInterval; MinimumTimeToLive = tail.MinimumTimeToLive; }
public static ResourceRecord FromArray(byte[] message, int offset, out int endOffset) { Domain domain = Domain.FromArray(message, offset, out offset); Tail tail = StructHelper.GetStruct <Tail>(message, offset, Tail.SIZE); byte[] data = new byte[tail.DataLength]; offset += Tail.SIZE; Array.Copy(message, offset, data, 0, data.Length); endOffset = offset + data.Length; return(new ResourceRecord(domain, data, tail.Type, tail.Class, tail.TimeToLive)); }