Todd Lipcon has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/15690 )
Change subject: net: make Sockaddr more generic for other address families ...................................................................... net: make Sockaddr more generic for other address families This paves the way for supporting other socket address types: namely IPv6 and Unix domain sockets. This patch doesn't add any new support, but increases the size of Sockaddr appropriately and making the methods more generic. The approach here is to use a union inside of the Sockaddr class which could store an address of any type. An alternative (taken by a long-ago attempt at unix sockets) would be to make Sockaddr an abstract base class with derived classes for each socket type. I went with this approach since all of the POSIX socket APIs expect this "tagged union" approach -- the same APIs are used whether we want to talk to a unix socket or an IPv4. The downside of this approach is a slightly larger Sockaddr object footprint, but we shouldn't have a lot of these on the heap. One functional change: the default constructor for Sockaddr now creates an "uninitialized" instance, whereas it used to create a wildcard address. That's now an explicit static method. Change-Id: Ifff57e13a0e9b86b191d776ead67371b1e2ed4e3 Reviewed-on: http://gerrit.cloudera.org:8080/15690 Tested-by: Kudu Jenkins Reviewed-by: Andrew Wong <aw...@cloudera.com> Reviewed-by: Alexey Serbin <aser...@cloudera.com> --- M src/kudu/clock/builtin_ntp.cc M src/kudu/rpc/mt-rpc-test.cc M src/kudu/rpc/negotiation-test.cc M src/kudu/rpc/proxy.cc M src/kudu/rpc/rpc-test-base.h M src/kudu/rpc/rpc-test.cc M src/kudu/server/webserver.cc M src/kudu/tserver/scanners.cc M src/kudu/util/net/net_util-test.cc M src/kudu/util/net/net_util.cc M src/kudu/util/net/sockaddr.cc M src/kudu/util/net/sockaddr.h M src/kudu/util/net/socket.cc 13 files changed, 217 insertions(+), 85 deletions(-) Approvals: Kudu Jenkins: Verified Andrew Wong: Looks good to me, approved Alexey Serbin: Looks good to me, approved -- To view, visit http://gerrit.cloudera.org:8080/15690 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ifff57e13a0e9b86b191d776ead67371b1e2ed4e3 Gerrit-Change-Number: 15690 Gerrit-PatchSet: 5 Gerrit-Owner: Todd Lipcon <t...@apache.org> Gerrit-Reviewer: Alexey Serbin <aser...@cloudera.com> Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com> Gerrit-Reviewer: Bankim Bhavsar <ban...@cloudera.com> Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Reviewer: Mike Percy <mpe...@apache.org> Gerrit-Reviewer: Tidy Bot (241) Gerrit-Reviewer: Todd Lipcon <t...@apache.org> Gerrit-Reviewer: Volodymyr Verovkin <verjov...@cloudera.com>