Packets: GenericTLVRegistry: removed left over debug output
[senf.git] / senf / Packets / DefaultBundle / IPv6Extensions.hh
index 34f2e83..bf41e88 100644 (file)
@@ -98,8 +98,7 @@ namespace senf {
         /** \brief Dump given IPv6FragmentPacket in readable form to given output stream */
         static void dump(packet p, std::ostream & os); 
 
-        static void finalize(packet p) { 
-            p->nextHeader() << key(p.next(nothrow)); }
+        static void finalize(packet p);
     };
 
     /** \brief IPv6 fragment extension packet typedef 
@@ -202,11 +201,11 @@ namespace senf {
         
         static key_t nextPacketKey(packet p) 
             { return p->nextHeader(); }
+        
         /** \brief Dump given IPv6RoutingPacket in readable form to given output stream */
         static void dump(packet p, std::ostream & os); 
         
-        static void finalize(packet p) { 
-            p->nextHeader() << key(p.next(nothrow)); }
+        static void finalize(packet p);
     };
     
     /** \brief IPv6 routing extension packet typedef
@@ -275,14 +274,13 @@ namespace senf {
         using mixin::init;
         using mixin::initSize;
         
-        static key_t nextPacketKey(packet p) 
-        { return p->nextHeader(); }
+        static key_t nextPacketKey(packet p) {
+            return p->nextHeader(); }
         
         /** \brief Dump given IPv6HopByHopOptionsPacket in readable form to given output stream */
         static void dump(packet p, std::ostream & os); 
         
-        static void finalize(packet p) { 
-            p->nextHeader() << key(p.next(nothrow)); }
+        static void finalize(packet p);
     };
     
     /** \brief IPv6 routing Hop-By-Hop packet typedef
@@ -305,8 +303,14 @@ namespace senf {
     {
 #       include SENF_PARSER()
         SENF_PARSER_FIELD ( nextHeader, UInt8Parser   );
-        SENF_PARSER_FIELD ( headerLength, UInt8Parser );
-        
+        SENF_PARSER_FIELD_RO ( headerLength, UInt8Parser );
+        typedef detail::FixedAuxParserPolicy<UInt8Parser, 1u> ListOptionTypeAuxPolicy;
+        typedef detail::ListOptionTypeParser_Policy<
+            IPv6GenericOptionParser, ListOptionTypeAuxPolicy> ListOptionTypePolicy;
+        typedef ListParser<ListOptionTypePolicy> ListOptionTypeParser;
+
+        SENF_PARSER_FIELD  ( options, ListOptionTypeParser);
+
         SENF_PARSER_FINALIZE ( IPv6DestinationOptionsPacketParser );
     };
     
@@ -348,8 +352,7 @@ namespace senf {
         /** \brief Dump given IPv6DestinationOptionsPacket in readable form to given output stream */
         static void dump(packet p, std::ostream & os); 
         
-        static void finalize(packet p) { 
-            p->nextHeader() << key(p.next(nothrow)); }
+        static void finalize(packet p);
     };
     
     /** \brief IPv6 routing Destination Options packet typedef