Associate

Stores address info and trust level for a known node associate.

Declared in src/libs/libpair/address/Associate.hpp
Inherits QEnableSharedFromThis
Group pair

Detailed description

The Associate class is a means to store the address info and trust level for one of Node's friends in a manner suitable for persistence via the AddressBook class.

It is also used to store our own identity (the hive NodeStore's local_identity slot serializes an Associate).

Associate tracks:

  • Node identity (ID, name, type, role)
  • Trust relationships (TrustList)
  • Network addresses (AddressList)
  • Communication history per channel
  • Pairing timestamps (last seen, handshake times)

It is thread safe. AddressBook gives out shared pointers to its associates, and the owner changes them in place, while the AsyncStore worker of the book calls toVariantMap() on its thread. One mutex guards every field in every accessor, and no accessor gives out a reference into the fields.

This class is explained in the communication-system explanation.

See also AddressBook, TrustList, PortableNodeID.

In this section