mirror of
https://github.com/jwetzell/acn-js.git
synced 2026-08-09 16:53:41 +00:00
add support for decoding join refuse data
This commit is contained in:
@@ -80,8 +80,16 @@ export type SDTJoinAcceptData = {
|
||||
reciprocalChannel: number;
|
||||
};
|
||||
|
||||
export type SDTJoinRefuseData = {
|
||||
leaderComponentID: string;
|
||||
channelNumber: number;
|
||||
memberID: number;
|
||||
reliableSequenceNumber: number;
|
||||
refuseCode: number;
|
||||
};
|
||||
|
||||
export type SessionDataTransportPDU = {
|
||||
vector: SessionDataTransportVectors;
|
||||
// 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,
|
||||
};
|
||||
}
|
||||
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:
|
||||
console.error(`unhandled SDT vector: ${vector}`);
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user