⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 a6record.java

📁 linux下建立JAVA虚拟机的源码KAFFE
💻 JAVA
字号:
// Copyright (c) 1999-2004 Brian Wellington (bwelling@xbill.org)package org.xbill.DNS;import java.io.*;import java.net.*;/** * A6 Record - maps a domain name to an IPv6 address (experimental) * * @author Brian Wellington */public class A6Record extends Record {private int prefixBits;private InetAddress suffix;private Name prefix;A6Record() {}RecordgetObject() {	return new A6Record();}/** * Creates an A6 Record from the given data * @param prefixBits The number of bits in the address prefix * @param suffix The address suffix * @param prefix The name of the prefix */publicA6Record(Name name, int dclass, long ttl, int prefixBits,	 InetAddress suffix, Name prefix){	super(name, Type.A6, dclass, ttl);	this.prefixBits = checkU8("prefixBits", prefixBits);	if (suffix != null && Address.familyOf(suffix) != Address.IPv6)		throw new IllegalArgumentException("invalid IPv6 address");	this.suffix = suffix;	if (prefix != null)		this.prefix = checkName("prefix", prefix);}voidrrFromWire(DNSInput in) throws IOException {	prefixBits = in.readU8();	int suffixbits = 128 - prefixBits;	int suffixbytes = (suffixbits + 7) / 8;	if (prefixBits < 128) {		byte [] bytes = new byte[16];		in.readByteArray(bytes, 16 - suffixbytes, suffixbytes);		suffix = InetAddress.getByAddress(bytes);	}	if (prefixBits > 0)		prefix = new Name(in);}voidrdataFromString(Tokenizer st, Name origin) throws IOException {	prefixBits = st.getUInt8();	if (prefixBits > 128) {		throw st.exception("prefix bits must be [0..128]");	} else if (prefixBits < 128) {		byte [] bytes = Address.toByteArray(st.getString(),						    Address.IPv6);		if (bytes == null)			throw st.exception("invalid IPv6 address");		suffix = InetAddress.getByAddress(bytes);	}	if (prefixBits > 0)		prefix = st.getName(origin);}/** Converts rdata to a String */StringrrToString() {	StringBuffer sb = new StringBuffer();	sb.append(prefixBits);	if (suffix != null) {		sb.append(" ");		sb.append(suffix.getHostAddress());	}	if (prefix != null) {		sb.append(" ");		sb.append(prefix);	}	return sb.toString();}/** Returns the number of bits in the prefix */public intgetPrefixBits() {	return prefixBits;}/** Returns the address suffix */public InetAddressgetSuffix() {	return suffix;}/** Returns the address prefix */public NamegetPrefix() {	return prefix;}voidrrToWire(DNSOutput out, Compression c, boolean canonical) {	out.writeU8(prefixBits);	if (suffix != null) {		int suffixbits = 128 - prefixBits;		int suffixbytes = (suffixbits + 7) / 8;		byte [] data = suffix.getAddress();		out.writeByteArray(data, 16 - suffixbytes, suffixbytes);	}	if (prefix != null)		prefix.toWire(out, null, canonical);}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -