///////////////////////////////hh.p////////////////////////////////////////
namespace senf {
- class OptTypeTLVPacketParser : public PacketParserBase
+ class IPv6OptionTLVParser : public PacketParserBase
{
public:
# include SENF_PARSER()
SENF_PARSER_BITFIELD (changeFlag, 1, unsigned);
SENF_PARSER_BITFIELD (optionType, 5, unsigned);
SENF_PARSER_FIELD (optionLength, UInt8Parser);
- SENF_PARSER_FINALIZE (OptTypeTLVPacketParser);
+ SENF_PARSER_FINALIZE (IPv6OptionTLVParser);
};
- struct GenericOptTypeTLVPacketParser : public OptTypeTLVPacketParser
+
+ struct IPv6GenericOptionTLVParser : public IPv6OptionTLVParser
{
# include SENF_PARSER()
- SENF_PARSER_INHERIT ( OptTypeTLVPacketParser );
+ SENF_PARSER_INHERIT ( IPv6OptionTLVParser );
SENF_PARSER_SKIP ( optionLength(), 0 );
- SENF_PARSER_FINALIZE ( GenericOptTypeTLVPacketParser );
+ SENF_PARSER_FINALIZE ( IPv6GenericOptionTLVParser );
senf::PacketInterpreterBase::range value() const;
+ template <class Parser>
+ Parser init();
+
+ // template <class Parser>
+ // Parser& get();
+
+ static const unsigned int typeCode = 7u;
+
template<class ForwardReadableRange>
void value(ForwardReadableRange const &range);
+
+ template<class ForwardReadableRange>
+ void setPayload(ForwardReadableRange const &range);
};
}