0x02, 0x0c, // type, length
0x5c, 0x07, 0x5c, 0x08, 0x5c, 0x09, 0x5c, 0x0a, 0x5c, 0x0b, 0x5c, 0x0c // value (nai-encoded)
};
- BOOST_CHECK(equal( mihPacket.data().begin(), mihPacket.data().end(), data ));
+ SENF_CHECK_EQUAL_COLLECTIONS( data, data+sizeof(data),
+ mihPacket.data().begin(), mihPacket.data().end() );
BOOST_CHECK_EQUAL(
mihPacket->src_mihfId().asMACAddress(),
MACAddress::from_string("01:02:03:04:05:06"));
0x02, 0x08, // type, length
0x5c, 0x84, 0x5c, 0x85, 0x5c, 0x86, 0x5c, 0x87 // value (nai-encoded)
};
- BOOST_CHECK(equal( mihPacket.data().begin(), mihPacket.data().end(), data ));
+ SENF_CHECK_EQUAL_COLLECTIONS( data, data+sizeof(data),
+ mihPacket.data().begin(), mihPacket.data().end() );
BOOST_CHECK_EQUAL(
mihPacket->src_mihfId().asINet4Address(),
INet4Address::from_string("128.129.130.131"));
0x5c, 0x00, 0x5c, 0x00, 0x5c, 0xff, 0x5c, 0xff,
0x5c, 0x05, 0x5c, 0x06, 0x5c, 0x07, 0x5c, 0x08
};
- BOOST_CHECK(equal( mihPacket.data().begin(), mihPacket.data().end(), data ));
+ SENF_CHECK_EQUAL_COLLECTIONS( data, data+sizeof(data),
+ mihPacket.data().begin(), mihPacket.data().end() );
BOOST_CHECK_EQUAL(
mihPacket->src_mihfId().asINet6Address(),
INet6Address::from_string("::ffff:1.2.3.4"));
// MIH header
0x10, 0x54, 0x00, 0x00, 0x00, 0x15,
// variable payload length:
- 0x00, 0x2a,
+ 0x00, 0x29,
// source MIHF_ID TLV:
0x01, 0x0f, // type, length
0x73, 0x65, 0x6e, 0x66, 0x40, 0x62, 0x65, 0x72, 0x6c,
0x0a, // first bit not set, length=10
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, // value
// second test tlv
- 0x43, // type
- 0x05, // first bit not set, length=5
- 0x1a, 0x2b, 0x3c, 0x4d, 0x5e // value
+ 0x0c, // type
+ 0x04, // first bit not set, length=4
+ 0x1a, 0x2b, 0x3c, 0x4d // value
};
MIHPacket mihPacket (MIHPacket::create(data));
- BOOST_CHECK_EQUAL( mihPacket->payloadLength(), 42u);
+ BOOST_CHECK_EQUAL( mihPacket->payloadLength(), 41u);
- BOOST_REQUIRE( mihPacket.next().is<MIHPayloadPacket>() );
- MIHPayloadPacket mihPayload (mihPacket.next().as<MIHPayloadPacket>());
+ BOOST_REQUIRE( mihPacket.next().is<MIHGenericPayloadPacket>() );
+ MIHGenericPayloadPacket mihPayload (mihPacket.next().as<MIHGenericPayloadPacket>());
- BOOST_CHECK_EQUAL( mihPayload->tlv_list().size(), 2u);
- MIHPayloadPacketParser::tlv_list_t::container tlv_list_container (mihPayload->tlv_list());
+ BOOST_CHECK_EQUAL( mihPayload->tlvList().size(), 2u);
+ MIHGenericPayloadPacket::Parser::tlvList_t::container tlvListContainer (
+ mihPayload->tlvList());
- GenericTLVPacket::Parser tlv1 = *tlv_list_container.begin();
+ MIHGenericTLVParser tlv1 = *tlvListContainer.begin();
BOOST_CHECK_EQUAL( tlv1.type(), 0x42);
BOOST_CHECK_EQUAL( tlv1.length(), 0x0au);
BOOST_CHECK_EQUAL( tlv1.value().size(), 0x0a);
- GenericTLVPacket::Parser tlv2 = *boost::next(tlv_list_container.begin());
- BOOST_CHECK_EQUAL( tlv2.type(), 0x43);
- BOOST_CHECK_EQUAL( tlv2.length(), 0x05u);
- BOOST_CHECK_EQUAL( tlv2.value().size(), 0x05);
+ MIHGenericTLVParser tlv2 = *boost::next(tlvListContainer.begin());
+ BOOST_CHECK_EQUAL( tlv2.type(), 0x0c);
+ BOOST_CHECK_EQUAL( tlv2.length(), 0x04u);
+ BOOST_CHECK_EQUAL( tlv2.value().size(), 0x04);
+
+ std::ostringstream oss (std::ostringstream::out);
+ SENF_CHECK_NO_THROW( mihPayload.dump( oss));
}
mihPacket->src_mihfId().setString( "senf@berlios.de");
mihPacket->dst_mihfId().setString( "test");
- MIHPayloadPacket mihPayload (MIHPayloadPacket::createAfter(mihPacket));
-
+ MIHGenericPayloadPacket mihPayload (MIHGenericPayloadPacket::createAfter(mihPacket));
+ MIHGenericPayloadPacket::Parser::tlvList_t::container tlvListContainer (
+ mihPayload->tlvList() );
+
unsigned char tlv1_value[] = {
- 0x1a, 0x2b, 0x3c, 0x4d, 0x5e };
- GenericTLVPacket tlv2 = (GenericTLVPacket::create());
- tlv2->type() = 0x43;
- tlv2->value( tlv1_value);
- tlv2.finalizeThis();
- mihPayload->tlv_list().push_front( tlv2);
+ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09 };
+ MIHGenericTLVParser tlv1 ( tlvListContainer.push_back_space());
+ tlv1.type() = 0x42;
+ tlv1.value( tlv1_value);
unsigned char tlv2_value[] = {
- 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09 };
- GenericTLVPacket tlv1 (GenericTLVPacket::create());
- tlv1->type() = 0x42;
- tlv1->value( tlv2_value);
- tlv1.finalizeThis();
- mihPayload->tlv_list().push_front( tlv1);
+ 0x1a, 0x2b, 0x3c, 0x4d };
+ MIHGenericTLVParser tlv2 ( tlvListContainer.push_back_space());
+ tlv2.type() = 0x0c;
+ tlv2.value( tlv2_value);
mihPacket.finalizeAll();
// MIH header
0x10, 0x54, 0x00, 0x00, 0x00, 0x15,
// variable payload length:
- 0x00, 0x2a,
+ 0x00, 0x29,
// source MIHF_ID TLV:
0x01, 0x0f, // type, length
0x73, 0x65, 0x6e, 0x66, 0x40, 0x62, 0x65, 0x72, 0x6c,
0x0a, // first bit not set, length=10
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, // value
// second test tlv
- 0x43, // type
- 0x05, // first bit not set, length=5
- 0x1a, 0x2b, 0x3c, 0x4d, 0x5e // value
+ 0x0c, // type
+ 0x04, // first bit not set, length=4
+ 0x1a, 0x2b, 0x3c, 0x4d // value
};
-
- BOOST_CHECK(equal( mihPacket.data().begin(), mihPacket.data().end(), data ));
+ SENF_CHECK_EQUAL_COLLECTIONS( data, data+sizeof(data),
+ mihPacket.data().begin(), mihPacket.data().end() );
}