mirror of
https://github.com/jwetzell/acn-js.git
synced 2026-08-29 10:08:58 +00:00
add support for decoding join refuse data
This commit is contained in:
@@ -80,8 +80,16 @@ export type SDTJoinAcceptData = {
|
|||||||
reciprocalChannel: number;
|
reciprocalChannel: number;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export type SDTJoinRefuseData = {
|
||||||
|
leaderComponentID: string;
|
||||||
|
channelNumber: number;
|
||||||
|
memberID: number;
|
||||||
|
reliableSequenceNumber: number;
|
||||||
|
refuseCode: number;
|
||||||
|
};
|
||||||
|
|
||||||
export type SessionDataTransportPDU = {
|
export type SessionDataTransportPDU = {
|
||||||
vector: SessionDataTransportVectors;
|
vector: SessionDataTransportVectors;
|
||||||
// TODO(jwetzell): cleanup these types
|
// TODO(jwetzell): cleanup these types
|
||||||
data: SDTJoinData | SDTJoinAcceptData | Uint8Array;
|
data: SDTJoinData | SDTJoinAcceptData | SDTJoinRefuseData| Uint8Array;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -93,6 +93,20 @@ export function decode(bytes: Uint8Array): SessionDataTransportPDU {
|
|||||||
data: joinData,
|
data: joinData,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
case SessionDataTransportVectors.JOIN_REFUSE: {
|
||||||
|
const joinData = {
|
||||||
|
leaderComponentID: toHex(bytes.subarray(dataOffset, dataOffset + 16)),
|
||||||
|
channelNumber: view.getUint16(dataOffset + 16),
|
||||||
|
memberID: view.getUint16(dataOffset + 18),
|
||||||
|
reliableSequenceNumber: view.getUint32(dataOffset + 20),
|
||||||
|
refuseCode: view.getUint8(dataOffset + 24),
|
||||||
|
};
|
||||||
|
|
||||||
|
return {
|
||||||
|
vector,
|
||||||
|
data: joinData,
|
||||||
|
};
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
console.error(`unhandled SDT vector: ${vector}`);
|
console.error(`unhandled SDT vector: ${vector}`);
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user