Ejemplo n.º 1
0
        public static Header FromArray(byte[] header)
        {
            if (header.Length < SIZE)
            {
                throw new ArgumentException("Header length too small");
            }

            return(StructHelper.GetStruct <Header>(header, 0, SIZE));
        }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 3
0
        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;
        }
Ejemplo n.º 4
0
        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));
        }