From db4fffc8932715aab030b360da2fef1e9bfb742e Mon Sep 17 00:00:00 2001 From: nathan Date: Sat, 3 Mar 2018 15:53:04 +0100 Subject: [PATCH] Added byte[] constructors --- src/dorkbox/network/dns/records/AAAARecord.java | 16 +++++++++++++++- src/dorkbox/network/dns/records/ARecord.java | 14 ++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/src/dorkbox/network/dns/records/AAAARecord.java b/src/dorkbox/network/dns/records/AAAARecord.java index 7fd489a3..65a4515c 100644 --- a/src/dorkbox/network/dns/records/AAAARecord.java +++ b/src/dorkbox/network/dns/records/AAAARecord.java @@ -78,7 +78,7 @@ class AAAARecord extends DnsRecord { /** * Creates an AAAA Record from the given data * - * @param address The address suffix + * @param address The address that the name refers */ public AAAARecord(Name name, int dclass, long ttl, InetAddress address) { @@ -89,6 +89,20 @@ class AAAARecord extends DnsRecord { this.address = address.getAddress(); } + /** + * Creates an AAAA Record from the given data + * + * @param address The address that the name refers to as a byte array. This value is NOT COPIED. + */ + public + AAAARecord(Name name, int dclass, long ttl, byte[] address) { + super(name, DnsRecordType.AAAA, dclass, ttl); + if (address.length != Address.addressLength(Address.IPv6)) { + throw new IllegalArgumentException("invalid IPv6 address"); + } + this.address = address; + } + /** * Returns the address */ diff --git a/src/dorkbox/network/dns/records/ARecord.java b/src/dorkbox/network/dns/records/ARecord.java index 67641770..4278e314 100644 --- a/src/dorkbox/network/dns/records/ARecord.java +++ b/src/dorkbox/network/dns/records/ARecord.java @@ -86,6 +86,20 @@ class ARecord extends DnsRecord { addr = fromArray(address.getAddress()); } + /** + * Creates an A Record from the given data + * + * @param address The address that the name refers to as a byte array. This value is NOT COPIED. + */ + public + ARecord(Name name, int dclass, long ttl, byte[] address) { + super(name, DnsRecordType.A, dclass, ttl); + if (address.length != Address.addressLength(Address.IPv4)) { + throw new IllegalArgumentException("invalid IPv4 address"); + } + addr = fromArray(address); + } + /** * Returns the Internet address */