Parse a MIHF_ID. More...
#include <senf/Packets/80221Bundle/TLVParser.hh>
Public Types | |
typedef MIHLengthParser | idLength_t |
Public Types inherited from senf::MIHBaseTLVParser | |
typedef UInt8Parser | type_t |
typedef MIHLengthParser | length_t |
typedef GenericTLVParserRegistry< MIHBaseTLVParser > | Registry |
Public Types inherited from senf::PacketParserBase | |
typedef detail::packet::iterator | data_iterator |
Raw data iterator type. More... | |
typedef detail::packet::size_type | size_type |
Unsigned integral type. More... | |
typedef detail::packet::difference_type | difference_type |
Signed integral type. More... | |
typedef detail::packet::byte | byte |
Unsigned 8bit value, the raw value type. More... | |
typedef PacketData * | state_type |
Type of the 'state' parameter. More... | |
typedef PacketParserBase | parser_base_type |
Base type of the next parser. More... | |
Public Member Functions | |
MIHLengthParser ::value_type | idLength () const |
void | dump (std::ostream &os) const |
void | maxIdLength (boost::uint8_t maxl) const |
void | finalize () |
Public Member Functions inherited from senf::MIHBaseTLVParser | |
UInt8Parser | type () const |
MIHLengthParser ::value_type | length () const |
void | finalize () |
shrink size of the TLV length field to minimum More... | |
Public Member Functions inherited from senf::PacketParserBase | |
data_iterator | i () const |
Return beginning of data to parse. More... | |
data_iterator | i (size_type offset) const |
Return iterator offset bytes from the start. More... | |
state_type | state () const |
Return state of this parser. More... | |
PacketData & | data () const |
Access the packets raw data container. More... | |
void | init () const |
Default implementation. More... | |
Protected Member Functions | |
MIHLengthParser | idLength_ () const |
Protected Member Functions inherited from senf::MIHBaseTLVParser | |
MIHLengthParser | length_ () const |
void | maxLength (MIHLengthParser::value_type maxl) const |
set maximum value of TLV length field More... | |
void | validateType (boost::uint8_t type) const |
void | validateTypeLength (boost::uint8_t type, MIHLengthParser::value_type length) const |
Protected Member Functions inherited from senf::PacketParserBase | |
ParserProtector | protect () const |
PacketParserBase (data_iterator i, state_type s) | |
Standard constructor. More... | |
PacketParserBase (data_iterator i, state_type s, size_type size) | |
Size checking constructor. More... | |
bool | check (size_type size) const |
Check size of data container. More... | |
void | validate (size_type size) const |
Validate size of data container. More... | |
template<class Parser > | |
Parser | parse (data_iterator i) const |
Create sub-parser. More... | |
template<class Parser , class Arg > | |
Parser | parse (Arg const &arg, data_iterator i) const |
Create sub-parser. More... | |
template<class Parser > | |
Parser | parse (size_type n) const |
Create sub-parser. More... | |
template<class Parser , class Arg > | |
Parser | parse (Arg const &arg, size_type n) const |
Create sub-parser. More... | |
void | defaultInit () const |
Default implementation. More... | |
Packet | packet () const |
Get packet this parser is parsing from. More... | |
void | resize (size_type oldSize, size_type newSize) |
Resize data container. More... | |
Value setters | |
void | value (MIHFId const &id) |
void | value (std::string const &id) |
void | value (senf::MACAddress const &addr) |
void | value (senf::INet4Address const &addr) |
void | value (senf::INet6Address const &addr) |
void | value (senf::EUI64 const &addr) |
Value getters | |
MIHFId | valueAs (MIHFId::Type type) const |
std::string | valueAsString () const |
senf::MACAddress | valueAsMACAddress () const |
senf::INet4Address | valueAsINet4Address () const |
senf::INet6Address | valueAsINet6Address () const |
senf::EUI64 | valueAsEUI64 () const |
Value comparisons | |
bool | valueEquals (MIHFId const &id) const |
bool | valueEquals (std::string const &id) const |
bool | valueEquals (senf::MACAddress const &addr) const |
bool | valueEquals (senf::INet4Address const &addr) const |
bool | valueEquals (senf::INet6Address const &addr) const |
bool | valueEquals (senf::EUI64 const &addr) const |
Parse a MIHF_ID.
Note that the maximum length of a MIHF_ID is 253 octets (see F.3.11 in 802.21) We could set maxLength in init(), but for the most MIHF_IDs the default maximum length of 128 should be enough.
Definition at line 58 of file TLVParser.hh.
Definition at line 62 of file TLVParser.hh.
void senf::MIHFIdTLVParser::dump | ( | std::ostream & | os | ) | const |
Definition at line 35 of file TLVParser.cc.
void senf::MIHFIdTLVParser::finalize | ( | ) |
Definition at line 46 of file TLVParser.cc.
MIHLengthParser ::value_type senf::MIHFIdTLVParser::idLength | ( | ) | const |
|
protected |
void senf::MIHFIdTLVParser::maxIdLength | ( | boost::uint8_t | maxl | ) | const |
Definition at line 53 of file TLVParser.cc.
void senf::MIHFIdTLVParser::value | ( | MIHFId const & | id | ) |
Definition at line 112 of file TLVParser.cc.
void senf::MIHFIdTLVParser::value | ( | std::string const & | id | ) |
Definition at line 78 of file TLVParser.cc.
void senf::MIHFIdTLVParser::value | ( | senf::MACAddress const & | addr | ) |
Definition at line 88 of file TLVParser.cc.
void senf::MIHFIdTLVParser::value | ( | senf::INet4Address const & | addr | ) |
Definition at line 94 of file TLVParser.cc.
void senf::MIHFIdTLVParser::value | ( | senf::INet6Address const & | addr | ) |
Definition at line 100 of file TLVParser.cc.
void senf::MIHFIdTLVParser::value | ( | senf::EUI64 const & | addr | ) |
Definition at line 106 of file TLVParser.cc.
senf::MIHFId senf::MIHFIdTLVParser::valueAs | ( | MIHFId::Type | type | ) | const |
Definition at line 117 of file TLVParser.cc.
senf::EUI64 senf::MIHFIdTLVParser::valueAsEUI64 | ( | ) | const |
senf::INet4Address senf::MIHFIdTLVParser::valueAsINet4Address | ( | ) | const |
senf::INet6Address senf::MIHFIdTLVParser::valueAsINet6Address | ( | ) | const |
senf::MACAddress senf::MIHFIdTLVParser::valueAsMACAddress | ( | ) | const |
std::string senf::MIHFIdTLVParser::valueAsString | ( | ) | const |
bool senf::MIHFIdTLVParser::valueEquals | ( | MIHFId const & | id | ) | const |
bool senf::MIHFIdTLVParser::valueEquals | ( | std::string const & | id | ) | const |
bool senf::MIHFIdTLVParser::valueEquals | ( | senf::MACAddress const & | addr | ) | const |
bool senf::MIHFIdTLVParser::valueEquals | ( | senf::INet4Address const & | addr | ) | const |
bool senf::MIHFIdTLVParser::valueEquals | ( | senf::INet6Address const & | addr | ) | const |
bool senf::MIHFIdTLVParser::valueEquals | ( | senf::EUI64 const & | addr | ) | const |