summaryrefslogtreecommitdiff
path: root/networkAddress.h
diff options
context:
space:
mode:
authorOthmar Gsenger <otti@anytun.org>2008-02-28 15:30:24 +0000
committerOthmar Gsenger <otti@anytun.org>2008-02-28 15:30:24 +0000
commit505c0b8110fb3fdb6f4838b392cf44e338c2db43 (patch)
tree6e6bc3b42edb9c688c663d907d6a4f2044279de5 /networkAddress.h
parentfixed route serialisation (diff)
reduced routing sync overhead
Diffstat (limited to 'networkAddress.h')
-rw-r--r--networkAddress.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/networkAddress.h b/networkAddress.h
index 44c5b59..4217b4a 100644
--- a/networkAddress.h
+++ b/networkAddress.h
@@ -79,10 +79,13 @@ private:
void serialize(Archive & ar, const unsigned int version)
{
ar & network_address_type_;
- ar & ipv4_address_.s_addr;
- for(int i=0;i<4;i++)
- ar & ipv6_address_.s6_addr32;
- ar & ethernet_address_;
+ if (network_address_type_==ipv4)
+ ar & ipv4_address_.s_addr;
+ if (network_address_type_==ipv6)
+ for(int i=0;i<4;i++)
+ ar & ipv6_address_.s6_addr32;
+ if (network_address_type_==ethernet_address_)
+ ar & ethernet_address_;
}
};