/*
 * Copyright 2015 The Netty Project
 *
 * The Netty Project licenses this file to you under the Apache License,
 * version 2.0 (the "License"); you may not use this file except in compliance
 * with the License. You may obtain a copy of the License at:
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations
 * under the License.
 */
package io.netty.handler.codec.dns;

import io.netty.util.internal.UnstableApi;

A DNS response message.
/** * A DNS response message. */
@UnstableApi public interface DnsResponse extends DnsMessage {
Returns true if responding server is authoritative for the domain name in the query message.
/** * Returns {@code true} if responding server is authoritative for the domain * name in the query message. */
boolean isAuthoritativeAnswer();
Set to true if responding server is authoritative for the domain name in the query message.
Params:
  • authoritativeAnswer – flag for authoritative answer
/** * Set to {@code true} if responding server is authoritative for the domain * name in the query message. * * @param authoritativeAnswer flag for authoritative answer */
DnsResponse setAuthoritativeAnswer(boolean authoritativeAnswer);
Returns true if response has been truncated, usually if it is over 512 bytes.
/** * Returns {@code true} if response has been truncated, usually if it is * over 512 bytes. */
boolean isTruncated();
Set to true if response has been truncated (usually happens for responses over 512 bytes).
Params:
  • truncated – flag for truncation
/** * Set to {@code true} if response has been truncated (usually happens for * responses over 512 bytes). * * @param truncated flag for truncation */
DnsResponse setTruncated(boolean truncated);
Returns true if DNS server can handle recursive queries.
/** * Returns {@code true} if DNS server can handle recursive queries. */
boolean isRecursionAvailable();
Set to true if DNS server can handle recursive queries.
Params:
  • recursionAvailable – flag for recursion availability
/** * Set to {@code true} if DNS server can handle recursive queries. * * @param recursionAvailable flag for recursion availability */
DnsResponse setRecursionAvailable(boolean recursionAvailable);
Returns the 4 bit return code.
/** * Returns the 4 bit return code. */
DnsResponseCode code();
Sets the response code for this message.
Params:
  • code – the response code
/** * Sets the response code for this message. * * @param code the response code */
DnsResponse setCode(DnsResponseCode code); @Override DnsResponse setId(int id); @Override DnsResponse setOpCode(DnsOpCode opCode); @Override DnsResponse setRecursionDesired(boolean recursionDesired); @Override DnsResponse setZ(int z); @Override DnsResponse setRecord(DnsSection section, DnsRecord record); @Override DnsResponse addRecord(DnsSection section, DnsRecord record); @Override DnsResponse addRecord(DnsSection section, int index, DnsRecord record); @Override DnsResponse clear(DnsSection section); @Override DnsResponse clear(); @Override DnsResponse touch(); @Override DnsResponse touch(Object hint); @Override DnsResponse retain(); @Override DnsResponse retain(int increment); }