Some bug fixes and added setters for flags

This commit is contained in:
Ziver Koc 2024-09-07 00:01:25 +02:00
parent e4d9a16ebd
commit 19a12dee44
3 changed files with 125 additions and 17 deletions

View file

@ -104,21 +104,24 @@ public class MqttPacketPublish extends MqttPacketHeader {
return (flags & FLAG_DUP_BITMASK) != 0;
}
public void setFlagDup(boolean isRedelivery) {
flags |= (byte) (FLAG_DUP_BITMASK & (isRedelivery ? 1 : 0));
if (isRedelivery) flags |= FLAG_DUP_BITMASK;
else flags &= ~FLAG_DUP_BITMASK;
}
public byte getFlagQoS() {
return (byte) ((flags & FLAG_QOS_BITMASK) >> 1);
return (byte) ((flags & FLAG_QOS_BITMASK) >>> 1);
}
public void setFlagQoS(int qos) {
flags |= (byte) (FLAG_QOS_BITMASK & qos);
flags &= ~FLAG_QOS_BITMASK; // reset bits
flags |= (byte) (FLAG_QOS_BITMASK & (qos << 1));
}
public boolean getFlagRetain() {
return (flags & FLAG_RETAIN_BITMASK) != 0;
}
public void setFlagRetain(boolean retain) {
flags |= (byte) (FLAG_RETAIN_BITMASK & (retain ? 1 : 0));
if (retain) flags |= FLAG_RETAIN_BITMASK;
else flags &= ~FLAG_RETAIN_BITMASK;
}