]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
msg: add const overload to entity_addr_t functions 9349/head
authorAdir Lev <adirl@mellanox.com>
Thu, 19 May 2016 11:12:27 +0000 (14:12 +0300)
committerAdir Lev <adirl@mellanox.com>
Thu, 26 May 2016 14:16:48 +0000 (17:16 +0300)
in order to have a cleaner code adding const overload
functions in4_addr and in6_addr

Signed-off-by: Adir Lev <adirl@mellanox.com>
src/msg/msg_types.h
src/msg/xio/XioMessenger.cc

index 0f7439b9f4d3414e625d5874d5baa73a377f9441..1722cf7ad45472b5873bcc9cf32fff419127d00e 100644 (file)
@@ -229,14 +229,19 @@ struct entity_addr_t {
   void set_family(int f) {
     u.sa.sa_family = f;
   }
-  
+
   sockaddr_in &in4_addr() {
     return u.sin;
   }
-  sockaddr_in6 &in6_addr() {
+  const sockaddr_in &in4_addr() const{
+    return u.sin;
+  }
+  sockaddr_in6 &in6_addr(){
+    return u.sin6;
+  }
+  const sockaddr_in6 &in6_addr() const{
     return u.sin6;
   }
-
   const sockaddr *get_sockaddr() const {
     return &u.sa;
   }
index abff1eea71d2c1692b785e6cbc268b87604cf53d..f1f1f770b3f3a5039b509bc1c63f3391b49b90ea 100644 (file)
@@ -209,11 +209,11 @@ static string xio_uri_from_entity(const string &type,
 
   switch(addr.get_family()) {
   case AF_INET:
-    host = inet_ntop(AF_INET, &addr.u.sin.sin_addr, addr_buf,
+    host = inet_ntop(AF_INET, &addr.in4_addr().sin_addr, addr_buf,
                     INET_ADDRSTRLEN);
     break;
   case AF_INET6:
-    host = inet_ntop(AF_INET6, &addr.u.sin6.sin6_addr, addr_buf,
+    host = inet_ntop(AF_INET6, &addr.in6_addr().sin6_addr, addr_buf,
                     INET6_ADDRSTRLEN);
     break;
   default:
@@ -424,7 +424,7 @@ void XioMessenger::learned_addr(const entity_addr_t &peer_addr_for_me)
   if (need_addr) {
     entity_addr_t t = peer_addr_for_me;
     t.set_port(my_inst.addr.get_port());
-    my_inst.addr.u = t.u;
+    my_inst.addr.set_sockaddr(t.get_sockaddr());
     ldout(cct,2) << "learned my addr " << my_inst.addr << dendl;
     need_addr = false;
     // init_local_connection();