Bitcoin Core  0.15.99
P2P Digital Currency
Public Member Functions | Public Attributes | Protected Attributes | Friends | List of all members
CService Class Reference

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

#include <netaddress.h>

Inheritance diagram for CService:
[legend]
Collaboration diagram for CService:
[legend]

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)
 
void Init ()
 
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 Init ()
 
void SetIP (const CNetAddr &ip)
 
void SetRaw (Network network, const uint8_t *data)
 Set raw IPv4 or IPv6 address (in network byte order) More...
 
bool SetInternal (const std::string &name)
 Transform an arbitrary string into a non-routable ipv6 address. More...
 
bool SetSpecial (const std::string &strName)
 
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 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
 Calculates a metric for how reachable (*this) is from a given partner. More...
 
 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

unsigned short port
 
- Protected Attributes inherited from CNetAddr
unsigned char ip [16]
 
uint32_t scopeId
 

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.

Definition at line 140 of file netaddress.h.

Constructor & Destructor Documentation

CService::CService ( )

Definition at line 481 of file netaddress.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 486 of file netaddress.cpp.

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

Definition at line 490 of file netaddress.cpp.

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

Definition at line 498 of file netaddress.cpp.

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

Definition at line 494 of file netaddress.cpp.

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

Definition at line 503 of file netaddress.cpp.

Member Function Documentation

std::vector< unsigned char > CService::GetKey ( ) const

Definition at line 572 of file netaddress.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

unsigned short CService::GetPort ( ) const

Definition at line 522 of file netaddress.cpp.

Here is the caller graph for this function:

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

Definition at line 542 of file netaddress.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void CService::Init ( )

Definition at line 476 of file netaddress.cpp.

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

Definition at line 168 of file netaddress.h.

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

Definition at line 508 of file netaddress.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

std::string CService::ToString ( ) const

Definition at line 596 of file netaddress.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

std::string CService::ToStringIPPort ( ) const

Definition at line 587 of file netaddress.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

std::string CService::ToStringPort ( ) const

Definition at line 582 of file netaddress.cpp.

Here is the caller graph for this function:

Friends And Related Function Documentation

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

Definition at line 532 of file netaddress.cpp.

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

Definition at line 537 of file netaddress.cpp.

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

Definition at line 527 of file netaddress.cpp.

Member Data Documentation

CService::ADD_SERIALIZE_METHODS

Definition at line 165 of file netaddress.h.

unsigned short CService::port
protected

Definition at line 143 of file netaddress.h.


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