blob: 9c01381ce3ecbfe00d0f4d2ebbe95f34bab6e4f0 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#pragma once
#include <util/system/defaults.h>
#include <util/network/init.h>
#include <util/network/address.h>
#include <util/generic/string.h>
namespace NInterconnect {
class TAddress {
union {
sockaddr Generic;
sockaddr_in Ipv4;
sockaddr_in6 Ipv6;
} Addr;
public:
TAddress();
TAddress(const char* addr, ui16 port);
TAddress(const TString& addr, ui16 port);
TAddress(NAddr::IRemoteAddr& addr);
int GetFamily() const;
socklen_t Size() const;
::sockaddr* SockAddr();
const ::sockaddr* SockAddr() const;
ui16 GetPort() const;
TString GetAddress() const;
TString ToString() const;
};
}
|