Exemplo n.º 1
0
 void test() override {
     Decerealiser cereal(std::vector<uint8_t>{1, 4, 0, 3, 'f', 'o', 'o'});
     auto foo = cereal.createPtr<Foo>();
     checkEqual(foo->i1, 1);
     checkEqual(foo->i2, 4);
     checkEqual(foo->s, std::string("foo"));
 }
Exemplo n.º 2
0
    void test() override {
        Decerealiser cereal(std::vector<uint8_t>{0x9e, 0xea});
        //1001 1110 1110 1010 or
        //100 111 10111 01 010
        //checkEqual(cereal.readBits(3), 4);
        auto foo = cereal.readBits(3);
        checkEqual(foo, 4);
        checkEqual(cereal.readBits(3), 7);
        checkEqual(cereal.readBits(5), 23);
        checkEqual(cereal.readBits(2), 1);
        checkEqual(cereal.readBits(3), 2);

        cereal.reset();
        checkEqual(cereal.readBits(3), 4);
        checkEqual(cereal.readBits(3), 7);
        checkEqual(cereal.readBits(5), 23);
        checkEqual(cereal.readBits(2), 1);
        checkEqual(cereal.readBits(3), 2);
    }
Exemplo n.º 3
0
    void test() override {
        const auto bytes = std::vector<uint8_t>{0x9e, 0xea};
        Decerealiser cereal(bytes.cbegin(), bytes.cend());
        //1001 1110 1110 1010 or
        //100 111 10111 01 010
        //checkEqual(cereal.readBits(3), 4);
        auto foo = cereal.readBits(3);
        checkEqual(foo, 4);
        checkEqual(cereal.readBits(3), 7);
        checkEqual(cereal.readBits(5), 23);
        checkEqual(cereal.readBits(2), 1);
        checkEqual(cereal.readBits(3), 2);

        cereal.reset();
        checkEqual(cereal.readBits(3), 4);
        checkEqual(cereal.readBits(3), 7);
        checkEqual(cereal.readBits(5), 23);
        checkEqual(cereal.readBits(2), 1);
        checkEqual(cereal.readBits(3), 2);
    }
Exemplo n.º 4
0
void MqttStream::updateRemaining() {
    if(!_remaining && _bytes.size() >= MqttFixedHeader::SIZE) {
        Decerealiser cereal(slice());
        _remaining = cereal.value<MqttFixedHeader>().remaining;
    }
}
Exemplo n.º 5
0
 void test() override {
     Decerealiser cereal(std::vector<uint8_t>{0x9e, 0xea});
     checkEqual(cereal.readBits(9), 317);
     checkEqual(cereal.readBits(7), 0x6a);
 }