Add parsing for mdns QU records (RFC6762)

This commit is contained in:
Rene Treffer 2014-07-23 22:43:12 +02:00
parent 70d403f0b6
commit 2bddcc9f99
1 changed files with 15 additions and 1 deletions

View File

@ -222,6 +222,11 @@ public class Record {
*/
protected Data payloadData;
/**
* MDNS defines the highest bit of the class as the unicast query bit.
*/
protected boolean unicastQuery;
/**
* Parse a given record based on the full message data and the current
* stream position.
@ -233,7 +238,8 @@ public class Record {
this.name = NameUtil.parse(dis, data);
this.type = TYPE.getType(dis.readUnsignedShort());
int clazzValue = dis.readUnsignedShort();
this.clazz = CLASS.getClass(clazzValue);
this.clazz = CLASS.getClass(clazzValue & 0x7fff);
this.unicastQuery = (clazzValue & 0x8000) > 0;
if (this.clazz == null) {
System.out.println("Unknown class " + clazzValue);
}
@ -298,6 +304,14 @@ public class Record {
(q.getName().equals(name));
}
/**
* See if this query/response was a unicast query (highest class bit set).
* @return True if it is a unicast query/response record.
*/
public boolean isUnicastQuery() {
return unicastQuery;
}
/**
* The generic record name, e.g. "measite.de".
* @return The record name.