aboutsummaryrefslogtreecommitdiffstats
path: root/util/network/address.h
diff options
context:
space:
mode:
authorAnton Samokhvalov <pg83@yandex.ru>2022-02-10 16:45:17 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:45:17 +0300
commitd3a398281c6fd1d3672036cb2d63f842d2cb28c5 (patch)
treedd4bd3ca0f36b817e96812825ffaf10d645803f2 /util/network/address.h
parent72cb13b4aff9bc9cf22e49251bc8fd143f82538f (diff)
downloadydb-d3a398281c6fd1d3672036cb2d63f842d2cb28c5.tar.gz
Restoring authorship annotation for Anton Samokhvalov <pg83@yandex.ru>. Commit 2 of 2.
Diffstat (limited to 'util/network/address.h')
-rw-r--r--util/network/address.h190
1 files changed, 95 insertions, 95 deletions
diff --git a/util/network/address.h b/util/network/address.h
index 470ca8195a..448fcac0c9 100644
--- a/util/network/address.h
+++ b/util/network/address.h
@@ -1,136 +1,136 @@
-#pragma once
-
-#include "ip.h"
-#include "socket.h"
-
-#include <util/generic/ptr.h>
+#pragma once
+
+#include "ip.h"
+#include "socket.h"
+
+#include <util/generic/ptr.h>
#include <util/generic/string.h>
-
-namespace NAddr {
- class IRemoteAddr {
- public:
+
+namespace NAddr {
+ class IRemoteAddr {
+ public:
virtual ~IRemoteAddr() = default;
-
- virtual const sockaddr* Addr() const = 0;
- virtual socklen_t Len() const = 0;
- };
-
+
+ virtual const sockaddr* Addr() const = 0;
+ virtual socklen_t Len() const = 0;
+ };
+
using IRemoteAddrPtr = THolder<IRemoteAddr>;
using IRemoteAddrRef = TAtomicSharedPtr<NAddr::IRemoteAddr>;
-
- IRemoteAddrPtr GetSockAddr(SOCKET s);
+
+ IRemoteAddrPtr GetSockAddr(SOCKET s);
IRemoteAddrPtr GetPeerAddr(SOCKET s);
void PrintHost(IOutputStream& out, const IRemoteAddr& addr);
TString PrintHost(const IRemoteAddr& addr);
TString PrintHostAndPort(const IRemoteAddr& addr);
-
+
bool IsLoopback(const IRemoteAddr& addr);
bool IsSame(const IRemoteAddr& lhs, const IRemoteAddr& rhs);
- socklen_t SockAddrLength(const sockaddr* addr);
-
- //for accept, recvfrom - see LenPtr()
- class TOpaqueAddr: public IRemoteAddr {
- public:
+ socklen_t SockAddrLength(const sockaddr* addr);
+
+ //for accept, recvfrom - see LenPtr()
+ class TOpaqueAddr: public IRemoteAddr {
+ public:
inline TOpaqueAddr() noexcept
- : L_(sizeof(S_))
- {
- Zero(S_);
- }
-
+ : L_(sizeof(S_))
+ {
+ Zero(S_);
+ }
+
inline TOpaqueAddr(const IRemoteAddr* addr) noexcept {
Assign(addr->Addr(), addr->Len());
- }
-
+ }
+
inline TOpaqueAddr(const sockaddr* addr) {
- Assign(addr, SockAddrLength(addr));
+ Assign(addr, SockAddrLength(addr));
}
const sockaddr* Addr() const override {
- return MutableAddr();
- }
-
+ return MutableAddr();
+ }
+
socklen_t Len() const override {
- return L_;
- }
-
+ return L_;
+ }
+
inline sockaddr* MutableAddr() const noexcept {
- return (sockaddr*)&S_;
- }
-
+ return (sockaddr*)&S_;
+ }
+
inline socklen_t* LenPtr() noexcept {
- return &L_;
- }
-
- private:
+ return &L_;
+ }
+
+ private:
inline void Assign(const sockaddr* addr, socklen_t len) noexcept {
L_ = len;
memcpy(MutableAddr(), addr, L_);
}
private:
- sockaddr_storage S_;
- socklen_t L_;
- };
-
- //for TNetworkAddress
- class TAddrInfo: public IRemoteAddr {
- public:
+ sockaddr_storage S_;
+ socklen_t L_;
+ };
+
+ //for TNetworkAddress
+ class TAddrInfo: public IRemoteAddr {
+ public:
inline TAddrInfo(const addrinfo* ai) noexcept
- : AI_(ai)
- {
- }
-
+ : AI_(ai)
+ {
+ }
+
const sockaddr* Addr() const override {
- return AI_->ai_addr;
- }
-
+ return AI_->ai_addr;
+ }
+
socklen_t Len() const override {
return (socklen_t)AI_->ai_addrlen;
- }
-
- private:
+ }
+
+ private:
const addrinfo* const AI_;
- };
-
- //compat, for TIpAddress
- class TIPv4Addr: public IRemoteAddr {
- public:
+ };
+
+ //compat, for TIpAddress
+ class TIPv4Addr: public IRemoteAddr {
+ public:
inline TIPv4Addr(const TIpAddress& addr) noexcept
- : A_(addr)
- {
- }
-
+ : A_(addr)
+ {
+ }
+
const sockaddr* Addr() const override {
- return A_;
- }
-
+ return A_;
+ }
+
socklen_t Len() const override {
- return A_;
- }
-
- private:
+ return A_;
+ }
+
+ private:
const TIpAddress A_;
- };
-
- //same, for ipv6 addresses
- class TIPv6Addr: public IRemoteAddr {
- public:
+ };
+
+ //same, for ipv6 addresses
+ class TIPv6Addr: public IRemoteAddr {
+ public:
inline TIPv6Addr(const sockaddr_in6& a) noexcept
- : A_(a)
- {
- }
-
+ : A_(a)
+ {
+ }
+
const sockaddr* Addr() const override {
- return (sockaddr*)&A_;
- }
-
+ return (sockaddr*)&A_;
+ }
+
socklen_t Len() const override {
- return sizeof(A_);
- }
-
- private:
+ return sizeof(A_);
+ }
+
+ private:
const sockaddr_in6 A_;
- };
-}
+ };
+}