// set some fields
mihPacket->fragmentNr() = 42;
mihPacket->transactionId() = 21;
- mihPacket->src_mihfId().setString( "senf@berlios.de");
- mihPacket->dst_mihfId().setString( "test");
+ mihPacket->src_mihfId().value( "senf@berlios.de");
+ mihPacket->dst_mihfId().value( "test");
mihPacket.finalizeThis();
unsigned char data[] = {
0x02, 0x04, 0x74, 0x65, 0x73, 0x74
};
BOOST_CHECK(equal( mihPacket.data().begin(), mihPacket.data().end(), data ));
- BOOST_CHECK_EQUAL( mihPacket->src_mihfId().asString(), "senf@berlios.de");
- BOOST_CHECK_EQUAL( mihPacket->dst_mihfId().asString(), "test");
+ BOOST_CHECK_EQUAL( mihPacket->src_mihfId().valueAsString(), "senf@berlios.de");
+ BOOST_CHECK_EQUAL( mihPacket->dst_mihfId().valueAsString(), "test");
// the maximum length of a MIHF_ID is 253 octets
- BOOST_CHECK_THROW( mihPacket->dst_mihfId().setString( std::string(254, 'x')), std::length_error);
+ BOOST_CHECK_THROW( mihPacket->dst_mihfId().value( std::string(254, 'x')), std::length_error);
// now expand a MIHF_ID
mihPacket->dst_mihfId().maxLengthValue(253);
- mihPacket->dst_mihfId().setString( std::string(200, 'x'));
+ mihPacket->dst_mihfId().value( std::string(200, 'x'));
mihPacket.finalizeThis();
BOOST_CHECK_EQUAL( mihPacket.size(), unsigned(8 + 17 + 203));
BOOST_AUTO_UNIT_TEST(MIHPacket_create_mac)
{
+ MACAddress srcMac ( MACAddress::from_string("01:02:03:04:05:06"));
+ MACAddress dstMac ( MACAddress::from_string("07:08:09:0a:0b:0c"));
MIHPacket mihPacket (MIHPacket::create());
// set some fields
mihPacket->fragmentNr() = 42;
mihPacket->transactionId() = 21;
- mihPacket->src_mihfId().setMACAddress( MACAddress::from_string("01:02:03:04:05:06"));
- mihPacket->dst_mihfId().setMACAddress( MACAddress::from_string("07:08:09:0a:0b:0c"));
+ mihPacket->src_mihfId().value( srcMac);
+ mihPacket->dst_mihfId().value( dstMac);
mihPacket.finalizeThis();
unsigned char 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"));
- BOOST_CHECK_EQUAL(
- mihPacket->dst_mihfId().asMACAddress(),
- MACAddress::from_string("07:08:09:0a:0b:0c"));
+ BOOST_CHECK_EQUAL( mihPacket->src_mihfId().valueAsMACAddress(), srcMac);
+ BOOST_CHECK_EQUAL( mihPacket->dst_mihfId().valueAsMACAddress(), dstMac);
+ BOOST_CHECK_EQUAL( mihPacket->dst_mihfId().valueAs( MIHFId::MACAddress), MIHFId(dstMac) );
+ BOOST_CHECK( mihPacket->src_mihfId().valueEquals(srcMac));
}
// set some fields
mihPacket->fragmentNr() = 42;
mihPacket->transactionId() = 21;
- mihPacket->src_mihfId().setINet4Address( INet4Address::from_string("128.129.130.131"));
- mihPacket->dst_mihfId().setINet4Address( INet4Address::from_string("132.133.134.135"));
+ mihPacket->src_mihfId().value( INet4Address::from_string("128.129.130.131"));
+ mihPacket->dst_mihfId().value( INet4Address::from_string("132.133.134.135"));
mihPacket.finalizeThis();
unsigned char data[] = {
SENF_CHECK_EQUAL_COLLECTIONS( data, data+sizeof(data),
mihPacket.data().begin(), mihPacket.data().end() );
BOOST_CHECK_EQUAL(
- mihPacket->src_mihfId().asINet4Address(),
+ mihPacket->src_mihfId().valueAsINet4Address(),
INet4Address::from_string("128.129.130.131"));
BOOST_CHECK_EQUAL(
- mihPacket->dst_mihfId().asINet4Address(),
+ mihPacket->dst_mihfId().valueAsINet4Address(),
INet4Address::from_string("132.133.134.135"));
}
// set some fields
mihPacket->fragmentNr() = 42;
mihPacket->transactionId() = 21;
- mihPacket->src_mihfId().setINet6Address( INet6Address::from_string("::ffff:1.2.3.4"));
- mihPacket->dst_mihfId().setINet6Address( INet6Address::from_string("::ffff:5.6.7.8"));
+ mihPacket->src_mihfId().value( INet6Address::from_string("::ffff:1.2.3.4"));
+ mihPacket->dst_mihfId().value( INet6Address::from_string("::ffff:5.6.7.8"));
mihPacket.finalizeThis();
unsigned char data[] = {
SENF_CHECK_EQUAL_COLLECTIONS( data, data+sizeof(data),
mihPacket.data().begin(), mihPacket.data().end() );
BOOST_CHECK_EQUAL(
- mihPacket->src_mihfId().asINet6Address(),
+ mihPacket->src_mihfId().valueAsINet6Address(),
INet6Address::from_string("::ffff:1.2.3.4"));
BOOST_CHECK_EQUAL(
- mihPacket->dst_mihfId().asINet6Address(),
+ mihPacket->dst_mihfId().valueAsINet6Address(),
INet6Address::from_string("::ffff:5.6.7.8") );
}
// 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<MIHGenericPayloadPacket>() );
MIHGenericPayloadPacket mihPayload (mihPacket.next().as<MIHGenericPayloadPacket>());
BOOST_CHECK_EQUAL( tlv1.value().size(), 0x0a);
MIHGenericTLVParser tlv2 = *boost::next(tlvListContainer.begin());
- BOOST_CHECK_EQUAL( tlv2.type(), 0x43);
- BOOST_CHECK_EQUAL( tlv2.length(), 0x05u);
- BOOST_CHECK_EQUAL( tlv2.value().size(), 0x05);
+ 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 mihPacket (MIHPacket::create());
mihPacket->fragmentNr() = 42;
mihPacket->transactionId() = 21;
- mihPacket->src_mihfId().setString( "senf@berlios.de");
- mihPacket->dst_mihfId().setString( "test");
+ mihPacket->src_mihfId().value( "senf@berlios.de");
+ mihPacket->dst_mihfId().value( "test");
MIHGenericPayloadPacket mihPayload (MIHGenericPayloadPacket::createAfter(mihPacket));
MIHGenericPayloadPacket::Parser::tlvList_t::container tlvListContainer (
tlv1.value( tlv1_value);
unsigned char tlv2_value[] = {
- 0x1a, 0x2b, 0x3c, 0x4d, 0x5e };
+ 0x1a, 0x2b, 0x3c, 0x4d };
MIHGenericTLVParser tlv2 ( tlvListContainer.push_back_space());
- tlv2.type() = 0x43;
+ 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
};
SENF_CHECK_EQUAL_COLLECTIONS( data, data+sizeof(data),
mihPacket.data().begin(), mihPacket.data().end() );