@projectpac/core-discovery
v0.6.0
Published
Part of PAC: @projectpac/core-discovery.
Readme
@projectpac/core-discovery
Claims ctx.discovery. Turns a need into candidate peers.
It verifies nothing and chooses nothing. Candidates carry identities, so a caller can check one before trusting it, and the adapter verifies every envelope regardless -- which means an adapter that lies can waste a caller's time and cannot impersonate a peer. Judging a candidate is the caller's job, not this plugin's.
An advertisement is an effect. advertise returns a disposer that withdraws
it from every adapter that took it, and because the disposer belongs to the
calling plugin's scope, disabling that plugin withdraws it too -- so a
plugin ships without an "unadvertise on shutdown" path of its own.
An adapter outage degrades to stale results, not to none. Each adapter's last answer per need is mirrored locally; when one stops answering, the query returns what it last said and traces that it did. A peer that was there a minute ago is a better answer than silence, and the caller decides what to make of it.
Presence is refreshed, not asserted once. A republish tick tells every adapter this node is still here and repeats the live set, which is also how a adapter that arrives while the node is running learns what it missed. A directory that never expired a node would keep offering peers that have been gone for weeks.
