Bitcoin
Public Member Functions | Public Attributes | Protected Attributes | Friends | List of all members
CService Class Reference

#include <netaddress.h>

Inheritance diagram for CService:
CNetAddr CAddress CAddrInfo

Public Member Functions

 CService ()
 
 CService (const CNetAddr &ip, unsigned short port)
 
 CService (const struct in_addr &ipv4Addr, unsigned short port)
 
 CService (const struct sockaddr_in &addr)
 
unsigned short GetPort () const
 
bool GetSockAddr (struct sockaddr *paddr, socklen_t *addrlen) const
 
bool SetSockAddr (const struct sockaddr *paddr)
 
std::vector< unsigned char > GetKey () const
 
std::string ToString () const
 
std::string ToStringPort () const
 
std::string ToStringIPPort () const
 
 CService (const struct in6_addr &ipv6Addr, unsigned short port)
 
 CService (const struct sockaddr_in6 &addr)
 
template<typename Stream , typename Operation >
void SerializationOp (Stream &s, Operation ser_action)
 
- Public Member Functions inherited from CNetAddr
 CNetAddr ()
 
 CNetAddr (const struct in_addr &ipv4Addr)
 
void SetIP (const CNetAddr &ip)
 
bool SetInternal (const std::string &name)
 
bool SetSpecial (const std::string &strName)
 
bool IsBindAny () const
 
bool IsIPv4 () const
 
bool IsIPv6 () const
 
bool IsRFC1918 () const
 
bool IsRFC2544 () const
 
bool IsRFC6598 () const
 
bool IsRFC5737 () const
 
bool IsRFC3849 () const
 
bool IsRFC3927 () const
 
bool IsRFC3964 () const
 
bool IsRFC4193 () const
 
bool IsRFC4380 () const
 
bool IsRFC4843 () const
 
bool IsRFC7343 () const
 
bool IsRFC4862 () const
 
bool IsRFC6052 () const
 
bool IsRFC6145 () const
 
bool IsTor () const
 
bool IsLocal () const
 
bool IsRoutable () const
 
bool IsInternal () const
 
bool IsValid () const
 
enum Network GetNetwork () const
 
std::string ToString () const
 
std::string ToStringIP () const
 
unsigned int GetByte (int n) const
 
uint64_t GetHash () const
 
bool GetInAddr (struct in_addr *pipv4Addr) const
 
std::vector< unsigned char > GetGroup () const
 
int GetReachabilityFrom (const CNetAddr *paddrPartner=nullptr) const
 
 CNetAddr (const struct in6_addr &pipv6Addr, const uint32_t scope=0)
 
bool GetIn6Addr (struct in6_addr *pipv6Addr) const
 
template<typename Stream , typename Operation >
void SerializationOp (Stream &s, Operation ser_action)
 

Public Attributes

 ADD_SERIALIZE_METHODS
 
- Public Attributes inherited from CNetAddr
 ADD_SERIALIZE_METHODS
 

Protected Attributes

uint16_t port
 
- Protected Attributes inherited from CNetAddr
unsigned char ip [16]
 
uint32_t scopeId {0}
 

Friends

bool operator== (const CService &a, const CService &b)
 
bool operator!= (const CService &a, const CService &b)
 
bool operator< (const CService &a, const CService &b)
 

Detailed Description

A combination of a network address (CNetAddr) and a (TCP) port

Constructor & Destructor Documentation

◆ CService() [1/6]

CService::CService ( )

◆ CService() [2/6]

CService::CService ( const CNetAddr ip,
unsigned short  port 
)

◆ CService() [3/6]

CService::CService ( const struct in_addr &  ipv4Addr,
unsigned short  port 
)

◆ CService() [4/6]

CService::CService ( const struct sockaddr_in &  addr)
explicit

◆ CService() [5/6]

CService::CService ( const struct in6_addr &  ipv6Addr,
unsigned short  port 
)

◆ CService() [6/6]

CService::CService ( const struct sockaddr_in6 &  addr)
explicit

Member Function Documentation

◆ GetKey()

std::vector< unsigned char > CService::GetKey ( ) const
Returns
An identifier unique to this service's address and port number.

◆ GetPort()

unsigned short CService::GetPort ( ) const

◆ GetSockAddr()

bool CService::GetSockAddr ( struct sockaddr *  paddr,
socklen_t *  addrlen 
) const

Obtain the IPv4/6 socket address this represents.

Parameters
[out]paddrThe obtained socket address.
[in,out]addrlenThe size, in bytes, of the address structure pointed to by paddr. The value that's pointed to by this parameter might change after calling this function if the size of the corresponding address structure changed.
Returns
Whether or not the operation was successful.

◆ SerializationOp()

template<typename Stream , typename Operation >
void CService::SerializationOp ( Stream &  s,
Operation  ser_action 
)
inline

◆ SetSockAddr()

bool CService::SetSockAddr ( const struct sockaddr *  paddr)

◆ ToString()

std::string CService::ToString ( ) const

◆ ToStringIPPort()

std::string CService::ToStringIPPort ( ) const

◆ ToStringPort()

std::string CService::ToStringPort ( ) const

Friends And Related Function Documentation

◆ operator!=

bool operator!= ( const CService a,
const CService b 
)
friend

◆ operator<

bool operator< ( const CService a,
const CService b 
)
friend

◆ operator==

bool operator== ( const CService a,
const CService b 
)
friend

Member Data Documentation

◆ ADD_SERIALIZE_METHODS

CService::ADD_SERIALIZE_METHODS

◆ port

uint16_t CService::port
protected

The documentation for this class was generated from the following files: