JBoss Data Grid HotRod C++ Client  7.0.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
InetSocketAddress.h
Go to the documentation of this file.
1 #ifndef ISPN_HOTROD_TRANSPORT_INETSOCKETADDRESS_H
2 #define ISPN_HOTROD_TRANSPORT_INETSOCKETADDRESS_H
3 
6 
7 #include <set>
8 #include <string>
9 #include <iostream>
10 
11 namespace infinispan {
12 namespace hotrod {
13 namespace transport {
14 
16 {
17  public:
18  InetSocketAddress() : hostname(""), port(0) {};
19  HR_EXPORT InetSocketAddress(const std::string& host, int p);
20  InetSocketAddress(const InetSocketAddress& other): hostname(other.hostname), addresses(other.addresses), port(other.port) {
21  }
22 
23  HR_EXPORT const std::string& getHostname() const;
24  HR_EXPORT const std::set<std::string>& getAddresses() const;
25  HR_EXPORT int getPort() const;
26 
27  HR_EXPORT bool operator ==(const InetSocketAddress& rhs) const;
28  HR_EXPORT bool operator <(const InetSocketAddress& rhs) const;
30  HR_EXPORT friend std::ostream& operator<<(std::ostream& os, const InetSocketAddress& isa);
31  bool isEmpty() { return port==0 && hostname.empty(); }
32 
33  operator ServerNameId () const
34  {
35  return std::string(getHostname()+":"+(std::to_string(getPort())));
36  }
37  private:
38  std::string hostname;
39  std::set<std::string> addresses;
40  int port;
41 
42  HR_EXPORT bool isSameHost(const std::set<std::string>& lhs, const std::set<std::string>& rhs) const;
43 };
44 
45 }}} // namespace infinispan::hotrod::transport
46 
47 #endif /* ISPN_HOTROD_TRANSPORT_INETSOCKETADDRESS_H */
HR_EXPORT const std::string & getHostname() const
HR_EXPORT const std::set< std::string > & getAddresses() const
#define HR_EXPORT
Definition: ImportExport.h:26
HR_EXPORT bool operator==(const InetSocketAddress &rhs) const
InetSocketAddress(const InetSocketAddress &other)
Definition: InetSocketAddress.h:20
Definition: InetSocketAddress.h:15
HR_EXPORT bool operator<(const InetSocketAddress &rhs) const
Definition: ServerNameId.h:15
bool isEmpty()
Definition: InetSocketAddress.h:31
InetSocketAddress()
Definition: InetSocketAddress.h:18
HR_EXPORT InetSocketAddress & operator=(infinispan::hotrod::transport::InetSocketAddress const &)
HR_EXPORT friend std::ostream & operator<<(std::ostream &os, const InetSocketAddress &isa)