Skip to content

Network Identity Store

Purpose

The Network Identity Store (NIS) engine stores information associated with known external identities (of peers, topics, domains, and engines), such as advertised addresses and local metadata. The information stored can come from various sources, such as local configuration, P2P protocols (e.g. peer sampling, clustering, pub/sub), other engines, or user input.

In case of peer identities, it stores known addresses along with local routing and transport preferences, latency measurements, trust metric and trust zone (e.g. local, remote).

State

IdentityStore

Contains all identity records stored by the engine.

Backed by the local key-value store (key: external identity, value: identity record).

list<(ExternalIdentity, IdentityRecord)>

Messages received

LookupIdentityRequest

Look up information about an external identity in the local database.

Reception:

LookupIdentityRequestV1

Record with fields:

  • id: ExternalIdentity

    External identity to look up.

Triggers:

LookupIdentityResponseV1

Record with fields:

  • id: ExternalIdentity

    External identity the response is about.

UpdateIdentityRequest

Update information associated with a given external identity.

Reception:

UpdateIdentityRequestV1

Record with fields:

  • id: ExternalIdentity

    External identity to update.

Triggers:

UpdateIdentityResponseV1

Record with fields:

  • id: ExternalIdentity

    External identity the response is about.

  • result: Result

    Result of the update operation.

Notifications sent

IdentityUpdated

Notification sent after an IdentityRecord has been updated.

IdentityUpdatedV1

Record with fields:

  • id: ExternalIdentity

    External identity the notification is about.

Message flow

sequenceDiagram

Any Local Engine ->>+ Network Identity Store: LookupIdentityRequest
Network Identity Store -->>- Any Local Engine: LookupIdentityResponse

Any Local Engine ->>+ Network Identity Store: UpdateIdentityRequest
Network Identity Store -->>- Any Local Engine: UpdateIdentityResponse
(Wiki) links on this page