dht::Node Struct Reference
Collaboration diagram for dht::Node:
[legend]

## Public Member Functions

| Node (const InfoHash &id, const SockAddr &addr, bool client=false)
| Node (const InfoHash &id, const sockaddr *sa, socklen_t salen)
InfoHash | getId () const
const SockAddr & | getAddr () const
std::string | getAddrStr () const
bool | isClient () const
bool | isIncoming ()
const time_point & | getTime () const
const time_point & | getReplyTime () const
void | setTime (const time_point &t)
void | authError ()
void | authSuccess ()
bool | isExpired () const
bool | isGood (time_point now) const
bool | isPendingMessage () const
size_t | getPendingMessageCount () const
bool | isOld (const time_point &now) const
bool | isRemovable (const time_point &now) const
NodeExport | exportNode () const
sa_family_t | getFamily () const
void | update (const SockAddr &)
void | requested (const Sp< net::Request > &req)
void | received (time_point now, const Sp< net::Request > &req)
Sp< net::Request > | getRequest (Tid tid)
void | cancelRequest (const Sp< net::Request > &req)
void | setExpired ()
Tid | openSocket (SocketCb &&cb)
Sp< Socket > | getSocket (Tid id)
void | closeSocket (Tid id)
void | reset ()
Tid | getNewTid ()
std::string | toString () const

## Public Attributes

const InfoHash | id

## Static Public Attributes

static constexpr const std::chrono::minutes | NODE_GOOD_TIME {120}
static constexpr const std::chrono::minutes | NODE_EXPIRE_TIME {10}
static constexpr const std::chrono::seconds | MAX_RESPONSE_TIME {1}

## Friends

OPENDHT_PUBLIC friend std::ostream & | operator<< (std::ostream &s, const Node &h)

## Detailed Description

Definition at line 47 of file node.h.

## Constructor & Destructor Documentation

## Node()

dht::Node::Node | ( | const InfoHash & | id,
|  | const sockaddr * | sa,
|  | socklen_t | salen
| ) |  |

inline

Definition at line 51 of file node.h.

## Member Function Documentation

## authError()

void dht::Node::authError | ( |  | ) |

inline

Makes notice about an additionnal authentication error with this node. Up to MAX_AUTH_ERRORS errors are accepted in order to let the node recover. Upon this limit, the node expires.

Definition at line 73 of file node.h.

## authSuccess()

void dht::Node::authSuccess | ( |  | ) |

inline

Definition at line 77 of file node.h.

## closeSocket()

void dht::Node::closeSocket | ( | Tid | id | ) |

Closes a socket so that no further data will be red on that socket.

Parameters

  socket | The socket to close.

## exportNode()

NodeExport dht::Node::exportNode | ( |  | ) | const

inline

Definition at line 91 of file node.h.

## getAddr()

const SockAddr & dht::Node::getAddr | ( |  | ) | const

inline

Definition at line 57 of file node.h.

## getAddrStr()

std::string dht::Node::getAddrStr | ( |  | ) | const

inline

Definition at line 58 of file node.h.

## getFamily()

sa_family_t dht::Node::getFamily | ( |  | ) | const

inline

Definition at line 98 of file node.h.

## getId()

InfoHash dht::Node::getId | ( |  | ) | const

inline

Definition at line 54 of file node.h.

## getNewTid()

Tid dht::Node::getNewTid | ( |  | ) |

inline

Generates a new request id, skipping the invalid id.

Returns
  the new id.

Definition at line 139 of file node.h.

## getReplyTime()

const time_point & dht::Node::getReplyTime | ( |  | ) | const

inline

Definition at line 65 of file node.h.

## getTime()

const time_point & dht::Node::getTime | ( |  | ) | const

inline

Definition at line 64 of file node.h.

## isClient()

bool dht::Node::isClient | ( |  | ) | const

inline

Definition at line 61 of file node.h.

## isExpired()

bool dht::Node::isExpired | ( |  | ) | const

inline

Definition at line 79 of file node.h.

## isIncoming()

bool dht::Node::isIncoming | ( |  | ) |

inline

Definition at line 62 of file node.h.

## isOld()

bool dht::Node::isOld | ( | const time_point & | now | ) | const

inline

Definition at line 84 of file node.h.

## isRemovable()

bool dht::Node::isRemovable | ( | const time_point & | now | ) | const

inline

Definition at line 87 of file node.h.

## openSocket()

Tid dht::Node::openSocket | ( | SocketCb && | cb | ) |

Opens a socket on which a node will be able allowed to write for further additionnal updates following the response to a previous request.

Parameters

  node | The node which will be allowed to write on this socket.
  cb | The callback to execute once updates arrive on the socket.

Returns
  the socket.

## reset()

void dht::Node::reset | ( |  | ) |

inline

Resets the state of the node so it's not expired anymore.

Definition at line 132 of file node.h.

## setTime()

void dht::Node::setTime | ( | const time_point & | t | ) |

inline

Definition at line 66 of file node.h.

## Member Data Documentation

## id

const InfoHash dht::Node::id

Definition at line 48 of file node.h.

## MAX_RESPONSE_TIME

constexpr const std::chrono::seconds dht::Node::MAX_RESPONSE_TIME {1}

static constexpr

Definition at line 154 of file node.h.

## NODE_EXPIRE_TIME

constexpr const std::chrono::minutes dht::Node::NODE_EXPIRE_TIME {10}

static constexpr

Definition at line 151 of file node.h.

## NODE_GOOD_TIME

constexpr const std::chrono::minutes dht::Node::NODE_GOOD_TIME {120}

static constexpr

Definition at line 148 of file node.h.

The documentation for this struct was generated from the following file:

- /tmp/slackbuilds_libs/opendht-1.7.4/include/opendht/node.h