diff options
author | 2021-04-27 01:25:33 +0000 | |
---|---|---|
committer | 2021-04-27 01:25:33 +0000 | |
commit | 1488a15856a20ab3c0df3ecab1a14a8c4afc30d8 (patch) | |
tree | aad3371f71d5b76eb66f6d3a621c5a5629df54ee | |
parent | b9627468805c0af3f2492f597a61ae6f2f339d27 (diff) | |
parent | d8996dfb677abe8ef9f9e0a51536f4b5753ae22e (diff) |
Merge changes I292b8e32,I689d0838
* changes:
libbinder: SocketAddressImpl -> InetSocketAddress
libbinder: Inet SocketAddr contains raw port
-rw-r--r-- | libs/binder/RpcConnection.cpp | 33 |
1 files changed, 15 insertions, 18 deletions
diff --git a/libs/binder/RpcConnection.cpp b/libs/binder/RpcConnection.cpp index 1388a801e4..f2302f7e56 100644 --- a/libs/binder/RpcConnection.cpp +++ b/libs/binder/RpcConnection.cpp @@ -130,24 +130,21 @@ bool RpcConnection::addVsockClient(unsigned int cid, unsigned int port) { #endif // __BIONIC__ -class SocketAddressImpl : public RpcConnection::SocketAddress { +class InetSocketAddress : public RpcConnection::SocketAddress { public: - SocketAddressImpl(const sockaddr* addr, size_t size, const String8& desc) - : mAddr(addr), mSize(size), mDesc(desc) {} + InetSocketAddress(const sockaddr* sockAddr, size_t size, const char* addr, unsigned int port) + : mSockAddr(sockAddr), mSize(size), mAddr(addr), mPort(port) {} [[nodiscard]] std::string toString() const override { - return std::string(mDesc.c_str(), mDesc.size()); + return String8::format("%s:%u", mAddr, mPort).c_str(); } - [[nodiscard]] const sockaddr* addr() const override { return mAddr; } + [[nodiscard]] const sockaddr* addr() const override { return mSockAddr; } [[nodiscard]] size_t addrSize() const override { return mSize; } - void set(const sockaddr* addr, size_t size) { - mAddr = addr; - mSize = size; - } private: - const sockaddr* mAddr = nullptr; - size_t mSize = 0; - String8 mDesc; + const sockaddr* mSockAddr; + size_t mSize; + const char* mAddr; + unsigned int mPort; }; AddrInfo GetAddrInfo(const char* addr, unsigned int port) { @@ -170,14 +167,15 @@ AddrInfo GetAddrInfo(const char* addr, unsigned int port) { } bool RpcConnection::setupInetServer(unsigned int port) { - auto aiStart = GetAddrInfo("127.0.0.1", port); + const char* kAddr = "127.0.0.1"; + + auto aiStart = GetAddrInfo(kAddr, port); if (aiStart == nullptr) return false; - SocketAddressImpl socketAddress(nullptr, 0, String8::format("127.0.0.1:%u", port)); for (auto ai = aiStart.get(); ai != nullptr; ai = ai->ai_next) { - socketAddress.set(ai->ai_addr, ai->ai_addrlen); + InetSocketAddress socketAddress(ai->ai_addr, ai->ai_addrlen, kAddr, port); if (setupSocketServer(socketAddress)) return true; } - ALOGE("None of the socket address resolved for 127.0.0.1:%u can be set up as inet server.", + ALOGE("None of the socket address resolved for %s:%u can be set up as inet server.", kAddr, port); return false; } @@ -185,9 +183,8 @@ bool RpcConnection::setupInetServer(unsigned int port) { bool RpcConnection::addInetClient(const char* addr, unsigned int port) { auto aiStart = GetAddrInfo(addr, port); if (aiStart == nullptr) return false; - SocketAddressImpl socketAddress(nullptr, 0, String8::format("%s:%u", addr, port)); for (auto ai = aiStart.get(); ai != nullptr; ai = ai->ai_next) { - socketAddress.set(ai->ai_addr, ai->ai_addrlen); + InetSocketAddress socketAddress(ai->ai_addr, ai->ai_addrlen, addr, port); if (addSocketClient(socketAddress)) return true; } ALOGE("None of the socket address resolved for %s:%u can be added as inet client.", addr, port); |