A Swift implementation of DNS Record Types. Used for example in mDNS / NetService.
// Encoding a message
let request = Message(
type: .query,
questions: [Question(name: "apple.com.", type: .pointer)]
)
let requestData = try request.serialize()
// Not shown here: send to DNS server over UDP, receive reply.
// Decoding a message
let responseData = Data()
let response = try Message.init(deserialize: responseData)
print(response.answers.first)
This library was written by Bouke Haarsma.