Example #1
0
 def parse_queueHandle(stream: BitStreamReader):  # pylint: disable=invalid-name
     """Parse queueHandle from raw bitstream"""
     # According to the docs queueHandle should be an uint8_t value
     # just like the other similar messages. But for unknown reason zipgateway
     # sends this like an ipv6 address (at least version 7.11.01)
     print("Node failing", stream.remaining(advance=False))
     if stream.bytesLeft() == 16:
         stream.advance(8 * 15)
     return stream.byte()
Example #2
0
def test_uint5_t(streamReader: BitStreamReader):
    assert uint5_t.deserialize(streamReader) == 0
    streamReader.advance(3)
    assert uint5_t.deserialize(streamReader) == 0
    streamReader.advance(3)
    assert uint5_t.deserialize(streamReader) == 0x19
    streamReader.advance(3)
    assert uint5_t.deserialize(streamReader) == 0x08

    streamWriter = BitStreamWriter()
    uint5_t(20).serialize(streamWriter)
    assert streamWriter == b"\xa0"