Using encode1() and decode1() from MessagePayload class.
authorGuilherme Maciel Ferreira <guilherme.maciel.ferreira@gmail.com>
Sun, 19 Feb 2012 18:41:28 +0000 (16:41 -0200)
committerGuilherme Maciel Ferreira <guilherme.maciel.ferreira@gmail.com>
Sun, 19 Feb 2012 18:41:28 +0000 (16:41 -0200)
- This methods also allow to toggle the bit, the previous implementation allowed
  only to turn the bits on, but not turn them off.

src/tcp/tcpheader.cpp

index df56c7f..bc012f6 100644 (file)
@@ -126,7 +126,7 @@ uint8_t TcpHeader::get_header_length() const
  */
 bool TcpHeader::get_congestion_window_reduced() const
 {
-    return ( Payload[13] & 0x80 );
+    return Payload.decode1( 13, 0 );
 }
 
 /**
@@ -142,7 +142,7 @@ bool TcpHeader::get_congestion_window_reduced() const
  */
 bool TcpHeader::get_ecn_echo() const
 {
-    return ( Payload[13] & 0x40 );
+    return Payload.decode1( 13, 1 );
 }
 
 /**
@@ -156,7 +156,7 @@ bool TcpHeader::get_ecn_echo() const
  */
 bool TcpHeader::get_urgent() const
 {
-    return ( Payload[13] & 0x20 );
+    return Payload.decode1( 13, 2 );
 }
 
 /**
@@ -170,7 +170,7 @@ bool TcpHeader::get_urgent() const
  */
 bool TcpHeader::get_acknowledgment() const
 {
-    return ( Payload[13] & 0x10 );
+    return Payload.decode1( 13, 3 );
 }
 
 /**
@@ -184,7 +184,7 @@ bool TcpHeader::get_acknowledgment() const
  */
 bool TcpHeader::get_push() const
 {
-    return ( Payload[13] & 0x08 );
+    return Payload.decode1( 13, 4 );
 }
 
 /**
@@ -196,7 +196,7 @@ bool TcpHeader::get_push() const
  */
 bool TcpHeader::get_reset() const
 {
-    return ( Payload[13] & 0x04 );
+    return Payload.decode1( 13, 5 );
 }
 
 /**
@@ -213,7 +213,7 @@ bool TcpHeader::get_reset() const
  */
 bool TcpHeader::get_synchronize() const
 {
-    return ( Payload[13] & 0x02 );
+    return Payload.decode1( 13, 6 );
 }
 
 /**
@@ -228,7 +228,7 @@ bool TcpHeader::get_synchronize() const
  */
 bool TcpHeader::get_finish() const
 {
-    return ( Payload[13] & 0x01 );
+    return Payload.decode1( 13, 7 );
 }
 
 /**
@@ -445,8 +445,7 @@ void TcpHeader::set_header_length( const uint8_t offset )
  */
 void TcpHeader::set_congestion_window_reduced( bool bit )
 {
-    uint8_t bit_mask = bit ? 0x80 : 0x00;
-    Payload[13] = Payload[13] | bit_mask;
+    Payload.encode1( 13, 0, bit );
 }
 
 /**
@@ -456,8 +455,7 @@ void TcpHeader::set_congestion_window_reduced( bool bit )
  */
 void TcpHeader::set_ecn_echo( bool bit )
 {
-    uint8_t bit_mask = bit ? 0x40 : 0x00 ;
-    Payload[13] = Payload[13] | bit_mask;
+    Payload.encode1( 13, 1, bit );
 }
 
 /**
@@ -467,8 +465,7 @@ void TcpHeader::set_ecn_echo( bool bit )
  */
 void TcpHeader::set_urgent( bool bit )
 {
-    uint8_t bit_mask = bit ? 0x20 : 0x00 ;
-    Payload[13] = Payload[13] | bit_mask;
+    Payload.encode1( 13, 2, bit );
 }
 
 /**
@@ -478,8 +475,7 @@ void TcpHeader::set_urgent( bool bit )
  */
 void TcpHeader::set_acknowledgment( bool bit )
 {
-    uint8_t bit_mask = bit ? 0x10 : 0x00 ;
-    Payload[13] = Payload[13] | bit_mask;
+    Payload.encode1( 13, 3, bit );
 }
 
 /**
@@ -489,8 +485,7 @@ void TcpHeader::set_acknowledgment( bool bit )
  */
 void TcpHeader::set_push( bool bit )
 {
-    uint8_t bit_mask = bit ? 0x08 : 0x00 ;
-    Payload[13] = Payload[13] | bit_mask;
+    Payload.encode1( 13, 4, bit );
 }
 
 /**
@@ -500,8 +495,7 @@ void TcpHeader::set_push( bool bit )
  */
 void TcpHeader::set_reset( bool bit )
 {
-    uint8_t bit_mask = bit ? 0x04 : 0x00 ;
-    Payload[13] = Payload[13] | bit_mask;
+    Payload.encode1( 13, 5, bit );
 }
 
 /**
@@ -511,8 +505,7 @@ void TcpHeader::set_reset( bool bit )
  */
 void TcpHeader::set_synchronize( bool bit )
 {
-    uint8_t bit_mask = bit ? 0x02 : 0x00 ;
-    Payload[13] = Payload[13] | bit_mask;
+    Payload.encode1( 13, 6, bit );
 }
 
 /**
@@ -522,8 +515,7 @@ void TcpHeader::set_synchronize( bool bit )
  */
 void TcpHeader::set_finish( bool bit )
 {
-    uint8_t bit_mask = bit ? 0x01 : 0x00 ;
-    Payload[13] = Payload[13] | bit_mask;
+    Payload.encode1( 13, 7, bit );
 }
 
 /**