]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
msg/msg_types: update sockaddr, sockaddr_storage accessors
authorSage Weil <sage@redhat.com>
Fri, 6 May 2016 13:46:06 +0000 (09:46 -0400)
committerSage Weil <sage@redhat.com>
Wed, 11 May 2016 12:12:24 +0000 (08:12 -0400)
Return sockaddr_storage by value.  New sockaddr-based accessors.

Signed-off-by: Sage Weil <sage@redhat.com>
src/msg/msg_types.h

index 3acad775ff7337db5449d7f00f11c03cce494bfa..0e176b9ec0c70dc86f19ad2762423dcbcb92761f 100644 (file)
@@ -251,7 +251,21 @@ struct entity_addr_t {
     return addr6;
   }
 
-  bool set_sockaddr(struct sockaddr *sa)
+  const sockaddr *get_sockaddr() const {
+    return (const sockaddr *)&addr4;
+  }
+  size_t get_sockaddr_len() const {
+    switch (addr.ss_family) {
+    case AF_INET:
+      return sizeof(addr4);
+      break;
+    case AF_INET6:
+      return sizeof(addr6);
+      break;
+    }
+    return sizeof(addr);
+  }
+  bool set_sockaddr(const struct sockaddr *sa)
   {
     switch (sa->sa_family) {
     case AF_INET:
@@ -266,6 +280,10 @@ struct entity_addr_t {
     return true;
   }
 
+  sockaddr_storage get_sockaddr_storage() const {
+    return addr;
+  }
+
   void set_in4_quad(int pos, int val) {
     addr4.sin_family = AF_INET;
     unsigned char *ipq = (unsigned char*)&addr4.sin_addr.s_addr;