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 |